一台服务器可以访问多个,每个网站都是一个虚拟主机;
一个httpd服务下面运行了多个网站、多个域名;
注意:任何一个域名解析到这台机器,都可以访问的虚拟主机就是默认虚拟主机,本身机器运行网站除外;
DNS或hosts文件中定义192.168.188.2 为www.szl.com www.shu.com www.111.com;
该机器上只运行两个网站,szl.com与111.com,并没有运行www.shu.com;
打开默认虚拟主机选项后,那么使用www.shu.com都会直接跳转到默认虚拟主机上也就是httpd-vhosts.conf第一个主机站点;
这里第一个站点是szl.com,那么www.shu.com会显示www.szl.com的网站内容;
vim /usr/local/apache2.4/conf/httpd.conf
搜索httpd-vhosts
取消注释Include conf/extra/httpd-vhosts.conf
vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf
修改内容
<VirtualHost *:80>
DocumentRoot "/data/wwwroot/szl.com"
ServerName szl.com
ServerAlias www.szl.com
ErrorLog "logs/szl.com-error_log"
CustomLog "logs/szl.com-access_log" common
</VirtualHost>
<VirtualHost *:80>
DocumentRoot "/data/wwwroot/111.com"
ServerName 111.com
ServerAlias www.example.com
ErrorLog "logs/111.com-error_log"
CustomLog "logs/111.com-access_log" common
</VirtualHost>
注意:这里是代表两个网站参数;第一个为默认虚拟主机;
mkdir /data/wwwroot/
mkdir /data/wwwroot/szl.com
mkdir /data/wwwroot/111.com
vim /data/wwwroot/szl.com
vim /data/wwwroot/111.com
在szl.com文件中输入php页面测试代码
<?php
echo “szl.com”
?>
在111.com文件中输入php页面测试代码
<?php
echo “111.com”
?>
/usr/local/apache2.4/bin/apachectl -t
/usr/local/apache2.4/bin/apachectl graceful
浏览器输入www.shu.com 显示内容为www.szl.com 站点的内容;
虚拟主机内容注释:
DocumentRoot:代表网站文件路径
ServerName:代表网站名称;
ServerAlias:网站别名;
ErrorLog:错误日志路径
CustomLog:日志路径
lamp架构-设置httpd的默认主机(服务器多网站运行设置)
原文:http://blog.51cto.com/shuzonglu/2074454