虚拟主机是指在一台服务器上运行多个网站

配置虚拟主机的三种方式

1)基于IP的虚拟主机

一台服务器是双网卡

2)基于端口的虚拟主机

一台服务器是单网卡,但开通了不同端口

3)基于名称的虚拟主机

配置虚拟主机的示例

1)基于IP的虚拟主机

在/home/wwwroot目录下分别创建网站目录
[root@localhost ~]# mkdir -p /home/wwwroot/{102,105}
向测试网战中写入内容
[root@localhost ~]# echo “192.168.10.102” > /home/wwwroot/102/index.html
[root@localhost ~]# echo “192.168.10.105” > /home/wwwroot/105/index.html
修改httpd主配置文件
[root@localhost ~]# vim /usr/local/apache/conf/httpd.conf

  1. # 添加IP监听
  2. Listen 192.168.10.102:80
  3. Listen 192.168.10.105:80
  4. 修改DocumentRoot的默认路径为网站的发布目录
  5. DocumentRoot "/home/wwwroot"
  6. <Directory "/home/wwwroot">
  7. Options Indexes FollowSymLinks
  8. AllowOverride None
  9. Require all granted
  10. </Directory>
  11. # 打开虚拟主机配置路径的注释
  12. # Virtual hosts
  13. Include conf/extra/httpd-vhosts.conf

修改虚拟主机配置文件
[root@localhost ~]# vim /usr/local/apache/conf/extra/httpd-vhosts.conf
清空配置,添加如下内容

<VirtualHost 192.168.10.102>
   DocumentRoot /home/wwwroot/102
   ServerName www.muyb.com
   <Directory /home/wwwroot/102>
      AllowOverride None
      Require all granted
   </Directory>
</VirtualHost>

<VirtualHost 192.168.10.105>
   DocumentRoot /home/wwwroot/105
   ServerName www.myb.com
   <Directory /home/wwwroot/105>
      AllowOverride None
      Require all granted
   </Directory>
</VirtualHost>
重启httpd(kill -9),网页验证<br />[http://192.168.10.102/](http://192.168.10.102/)<br />![image.png](https://cdn.nlark.com/yuque/0/2022/png/667991/1646971829297-21364f6b-4958-4905-98bd-7855f0ea6e44.png#clientId=u5f55ffa6-0a99-4&crop=0&crop=0&crop=1&crop=1&from=paste&height=230&id=ua65f8c5f&margin=%5Bobject%20Object%5D&name=image.png&originHeight=357&originWidth=863&originalType=binary&ratio=1&rotation=0&showTitle=false&size=26825&status=done&style=none&taskId=uf0e7ac7a-2c43-41c9-8efa-11cfca69595&title=&width=555)<br />[http://192.168.10.105/](http://192.168.10.102/)<br />![image.png](https://cdn.nlark.com/yuque/0/2022/png/667991/1646971861263-a44d5d61-a495-4120-bb9f-69320af53df8.png#clientId=u5f55ffa6-0a99-4&crop=0&crop=0&crop=1&crop=1&from=paste&height=198&id=uc44db6e1&margin=%5Bobject%20Object%5D&name=image.png&originHeight=349&originWidth=978&originalType=binary&ratio=1&rotation=0&showTitle=false&size=27383&status=done&style=none&taskId=u9c686f66-7b10-4845-ad15-d43d53656a6&title=&width=555)

2)基于端口的虚拟主机

修改虚拟主机配置文件
[root@localhost ~]# vim /usr/local/apache/conf/extra/httpd-vhosts.conf

<VirtualHost 192.168.10.102:808>
   DocumentRoot /home/wwwroot/102
   ServerName www.muyb.com
   <Directory /home/wwwroot/102>
      AllowOverride None
      Require all granted
   </Directory>
</VirtualHost>

<VirtualHost 192.168.10.102:8080>
   DocumentRoot /home/wwwroot/105
   ServerName www.myb.com
   <Directory /home/wwwroot/105>
      AllowOverride None
      Require all granted
   </Directory>
</VirtualHost>
修改httpd主配置文件<br />[root@localhost ~]# vim /usr/local/apache/conf/httpd.conf
# 添加IP监听端口
Listen 192.168.10.102:808
Listen 192.168.10.102:8080

重启httpd(kill -9),网页验证
http://192.168.10.102:808/
image.png
http://192.168.10.102:8080/
image.png

3)基于域名的虚拟主机

为虚拟主机提供域名解析
[root@localhost ~]# echo “192.168.10.102 www.muyb.com” >> /etc/hosts
[root@localhost ~]# echo “192.168.10.102 www.myb.com” >> /etc/hosts
[root@localhost ~]# cat /etc/hosts
image.png
添加虚拟主机配置
[root@localhost ~]# vim /usr/local/apache/conf/extra/httpd-vhosts.conf

<VirtualHost 192.168.10.102:80>
   DocumentRoot /home/wwwroot/102
   ServerName www.muyb.com
   <Directory /home/wwwroot/102>
      AllowOverride None
      Require all granted
   </Directory>
</VirtualHost>

<VirtualHost 192.168.10.102:80>
   DocumentRoot /home/wwwroot/105
   ServerName www.myb.com
   <Directory /home/wwwroot/105>
      AllowOverride None
      Require all granted
   </Directory>
</VirtualHost>
Windows主机添加hosts文件内容:C:\Windows\System32\drivers\etc
192.168.10.102 www.muyb.com
192.168.10.102 www.myb.com
重启httpd(kill -9),网页验证<br />[root@localhost ~]# service httpd restart (若httpd.conf被修改过监听主机的端口,记着改回80)<br />[http://www.muyb.com/](http://www.muyb.com/)<br />![image.png](https://cdn.nlark.com/yuque/0/2022/png/667991/1646976394355-9d08ac32-d337-47a4-ad0c-8757f4d1ff5e.png#clientId=u8c6be84a-0a8e-4&crop=0&crop=0&crop=1&crop=1&from=paste&height=179&id=u32f85904&margin=%5Bobject%20Object%5D&name=image.png&originHeight=288&originWidth=895&originalType=binary&ratio=1&rotation=0&showTitle=false&size=24904&status=done&style=none&taskId=uc302fc7a-0c96-4bdd-956e-672aa328152&title=&width=555)<br />[http://www.myb.com/](http://www.muyb.com/)<br />![image.png](https://cdn.nlark.com/yuque/0/2022/png/667991/1646976419779-e99f8b6a-e316-4534-ba77-5e2a543b9c38.png#clientId=u8c6be84a-0a8e-4&crop=0&crop=0&crop=1&crop=1&from=paste&height=181&id=u3189701d&margin=%5Bobject%20Object%5D&name=image.png&originHeight=317&originWidth=972&originalType=binary&ratio=1&rotation=0&showTitle=false&size=26672&status=done&style=none&taskId=u47f60c12-5f55-4c5d-9dd6-e2057e59c9f&title=&width=555)