Apache 的 httpd.conf 中文详解

2019-10-15 21:00:18王振洲

vhost2 IN CNAME freebsd
基本的设置选项都是为了freebsd主机设定的,如果要为vhost1和vhost2设定虚拟主机,就要使用VirtualHost语句定义不同的选项,在语句中可以使用配置文件前面中的大部分选项,而可以重新定义几乎所有的针对服务器的设置。
NameVirtualHost 192.168.1.64
DocumentRoot /usr/local/www/data
ServerName freebsd.example.org.cn
DocumentRoot /vhost1
ServerName vhost1.example.org.cn
DocumentRoot /vhost2
ServerName vhost2.example.org.cn
这里需要注意的是,VirtualHost的参数地址一定要和NameVirtualHost定义的地址相一致,必须保证所有的值严格一致,Apache服务器才承认这些定义是为这个IP地址定义的虚拟主机。
此外,定义过NameVirtualHost之后,那么对这个IP地址的访问都被区分不同的虚拟主机进行处理,而对其他IP地址的访问,例如127.0.0.1,才应用前面定义的缺省选项。
----------------------------------------------------------------------------------------
NameVirtualHost www.xxx.org
(对于动态IP的另类方法:指定虚拟主机的IP,由于要将域名映射为IP,不能使用localhost,127.0.0.1,计算机名,等这样的地址,所以,可以再一次通过域名转换,将域名转换为IP,这样就不必每次更改IP了。)
#
# VirtualHost example:
# Almost any Apache directive may go into a VirtualHost container.
# The first VirtualHost section is used for requests without a known
# server name.
#
<VirtualHost 192.168.0.1>(虚拟主机IP)
ServerAdmin 111@xxx.com(第一个虚拟主机Email)
DocumentRoot H:/web001(第一个虚拟主机目录)
ServerName www.xxx.org(第一个虚拟主机域名)
ErrorLog logs/www.xxx.org-error.log(第一个虚拟主机错误日志)
CustomLog logs/www.xxx.org-access.log common(第一个虚拟主机数据)
</VirtualHost>
<VirtualHost 192.168.0.2>(虚拟主机IP)
ServerAdmin 111@xxx.com(第二个虚拟主机Email)
DocumentRoot H:/web002(第二个虚拟主机目录)
ServerName www.xxx2.org(第二个虚拟主机域名)
ErrorLog logs/www.xxx2.org-error.log(第二个虚拟主机错误日志)
CustomLog logs/www.xxx2.org-access.log common(第二个虚拟主机数据)
</VirtualHost>
以此类推,可以增加更多虚拟主机。