Lighttpd VirtualHost配置~基于名称的虚拟主机
时间:2020-01-09 10:40:23 来源:igfitidea点击:
问题描述:如何将lighttpd Web服务器配置为虚拟主机,以便从单个公共IP地址(基于名称的虚拟主机)为多个网站提供服务?
解决方法:虚拟托管是一种方法,例如网络服务器之类的服务器用来在同一服务器上托管多个域名,有时甚至在同一IP地址上。
有两种完成虚拟主机的基本方法。
(A) 基于名称的虚拟主机
:您将多个主机名用于相同的Web服务器IP地址。
例如,域theitroad.com和theitroad.com使用称为65.111.211.111的相同IP地址。
(B) IIP地址/基于ip的虚拟主机
如何为基于名称的虚拟主机配置Lighttpd?
假设我们的设置为:
- 公用IP地址:72.12.5.10
- 域名:domain1.com和domain2.net
- 默认文档根目录:/home/lighttpd/default/http
- domain1.com的默认文档根目录:/home/lighttpd/domain1.com/http
- domain2.net的默认文档根目录:/home/lighttpd/domain2.net/http
首先,创建所需的目录:
# mkdir -p /home/lighttpd/default/http
接下来,打开lighttpd.conf文件:
# vi /etc/lighttpd/lighttpd.conf
设置默认文档根目录:
server.document-root = "/home/lighttpd/default/http/"
设置公共IP地址:
server.port = 80 server.bind = "72.12.5.10"
在文件底部,添加:
include "domain1.com.conf" include "domain2.net.conf"
保存并关闭文件。
创建domain1.com虚拟主机配置
创建所需的目录:
# mkdir -p /home/lighttpd/domain1.com/http # mkdir -p /home/lighttpd/domain1.com/logs
打开/etc/lighttpd/domain1.com.conf文件:
# vi /etc/lighttpd/domain1.com.conf
添加以下配置指令:
$HTTP["host"] =~ "domain1\.com" { server.document-root = "/home/lighttpd/domain1.com/http" accesslog.filename = "/home/lighttpd/domain1.com/logs/access.log" }
保存并关闭文件。
创建domain2.net虚拟主机配置
创建所需的目录:
# mkdir -p /home/lighttpd/domain2.net/http # mkdir -p /home/lighttpd/domain2.net/logs
打开/etc/lighttpd/domain2.net.conf文件:
# vi /etc/lighttpd/domain2.net.conf
添加以下配置指令:
$HTTP["host"] =~ "domain2\.net" { server.document-root = "/home/lighttpd/domain2.net/http" accesslog.filename = "/home/lighttpd/domain2.net/logs/access.log" }
保存并关闭文件。
重新启动lighttpd Web服务器:
# /etc/init.d/lighttpd restart
确保文档根目录归您的Web服务器用户所有,例如www-data或lighttpd:
# chown -R lighttpd:lighttpd /home/lighttpd/