httpd的默认虚拟主机

一台服务器可以访问多个,每个网站都是一个虚拟主机;
一个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.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”
?>

测错和更新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:日志路径