1、基于域名的虚拟主机
(1)、为虚拟主机提供域名解析
(2)、为虚拟主机准备网页文档
(3)、添加虚拟主机配置
vim /usr/local/httpd/conf/extra/httpd-vhosts.conf 创建独立的配置文件
<Directory "/var/www/html"> 设置目录访问权限
Order allow,deny
Allow from all
</Directory>
NameVirtualHost 192.168.1.1:80 指定虚拟主机位于192.168.1.1的80端口
<VirtualHost 192.168.1.1> 设置benet虚拟站点区域
# ServerAdmin webmaster@dummy-host.example.com
DocumentRoot "/var/www/html/benetcom"
ServerName www.benet.com
ServerAlias www.dummy-host.example.com
ErrorLog "logs/www.benet.com.error_log"
CustomLog "logs/www.benet.com.access_log" common
</VirtualHost>
<VirtualHost 192.168.1.1> 设置accp虚拟站点区域
ServerAdmin webmaster@dummy-host2.example.com
DocumentRoot "/var/www/html/accpcom"
ServerName www.accp.com
ErrorLog "logs/www.accp.com.error_log"
CustomLog "logs/www.accp.com.access_log" common
</VirtualHost>
vi /usr/local/httpd/conf/httpd.conf
Include conf/extra/httpd-vhosts.conf 加载独立的配置文件
/usr/local/httpd/bin/apachectl restart 重启服务使配置生效
2、基于IP地址的虚拟主机
vim /usr/local/httpd/conf/extra/httpd-vhosts.conf 创建独立的配置文件
<Directory "/var/www/html"> 设置目录访问权限
Order allow,deny
Allow from all
</Directory>
不再使用namevirtuahost配置项来指定监听服务的IP地址,而只要在每个 虚拟web主机的virtualhost配置中指定各自所对应的IP地址
<VirtualHost 192.168.1.1:80> 设置benet虚拟站点区域
# ServerAdmin webmaster@dummy-host.example.com
DocumentRoot "/var/www/html/benetcom"
ServerName www.benet.com
ServerAlias www.dummy-host.example.com
ErrorLog "logs/www.benet.com.error_log"
CustomLog "logs/www.benet.com.access_log" common
</VirtualHost>
<VirtualHost 192.168.1.2:80> 设置accp虚拟站点区域
ServerAdmin webmaster@dummy-host2.example.com
DocumentRoot "/var/www/html/accpcom"
ServerName www.accp.com
ErrorLog "logs/www.accp.com.error_log"
CustomLog "logs/www.accp.com.access_log" common
</VirtualHost>
3、构建基于端口的虚拟主机
vim /usr/local/httpd/conf/extra/httpd-vhosts.conf 创建独立的配置文件
<Directory "/var/www/html"> 设置目录访问权限
Order allow,deny
Allow from all
</Directory>
不再使用namevirtuahost配置项来指定监听服务的IP地址,而是通过多个 listen配置项来指定要坚挺的TCP端口号。每个虚拟web主机的virtualhost 配置中应同时指定IP地址和端口号。
listen 8080
<VirtualHost 192.168.1.1:80> 设置benet虚拟站点区域
# ServerAdmin webmaster@dummy-host.example.com
DocumentRoot "/var/www/html/benetcom"
ServerName www.benet.com
ServerAlias www.dummy-host.example.com
ErrorLog "logs/www.benet.com.error_log"
CustomLog "logs/www.benet.com.access_log" common
</VirtualHost>
<VirtualHost 192.168.1.1:8080> 设置benet的管理站点区域
ServerAdmin webmaster@dummy-host2.example.com
DocumentRoot "/var/www/html/benetcom_admin"
ServerName www.benet.com
ErrorLog "logs/www.benet.com_admin.error_log"
CustomLog "logs/www.benet.com_admin.access_log" common
</VirtualHost>
vi /usr/local/httpd/conf/httpd.conf
Include conf/extra/httpd-vhosts.conf 加载独立的配置文件
/usr/local/httpd/bin/apachectl restart 重启服务使配置生效