一台服务器可以访问多个,每个网站都是一个虚拟主机;
一个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>
注意:这里是代表两个网站参数;第一个为默认虚拟主机;
创建两个站点szl.com与111.com
mkdir /data/wwwroot/mkdir /data/wwwroot/szl.commkdir /data/wwwroot/111.comvim /data/wwwroot/szl.comvim /data/wwwroot/111.com
在szl.com文件中输入php页面测试代码<?phpecho “szl.com”?>在111.com文件中输入php页面测试代码<?phpecho “111.com”?>
测错和更新apache配置
/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