實驗:基於PORT的多虛擬主機
1.創建3個不同的網站文件根目錄
mkdir /data/site{1,2,3}
echo 'www.a.com' > /data/site1/index.html
echo 'www.b.com' > /data/site2/index.html
echo 'www.c.com' > /data/site3/index.html
![]
2.修改或在conf.d目錄下創建一個.conf結尾的文件,並添加如下參數
vim /etc/httpd/conf.d/vhosts.conf
listen 8001
listen 8002
listen 8003
<virtualhost *:8001>
documentroot /data/site1
<directory /data/site1>
require all granted
</directory>
</virtualhost>
<virtualhost *:8002>
<directory /data/site2>
require all granted
</directory>
documentroot /data/site2
</virtualhost>
<virtualhost *:8003>
<directory /data/site3>
require all granted
</directory>
documentroot /data/site3
</virtualhost>
實驗:基於ip的多虛擬主機
1.給單個網卡綁定多個ip地址
ip a a 192.168.36.8/24 dev eth0
ip a a 192.168.36.9/24 dev eth0
2.修改參數
vim /etc/httpd/conf.d/vhosts.conf
<virtualhost 192.168.36.7:80>
documentroot /data/site1
<directory /data/site1>
require all granted
</directory>
</virtualhost>
<virtualhost 192.168.36.8:80>
<directory /data/site2>
require all granted
</directory>
documentroot /data/site2
</virtualhost>
<virtualhost 192.168.36.9:80>
<directory /data/site3>
require all granted
</directory>
documentroot /data/site3
</virtualhost>
實驗:基於主機頭的多虛擬主機
1.修改配置文件
vim /etc/httpd/conf.d/vhosts.conf
<virtualhost *:80>
documentroot /data/site1
servername www.a.com
<directory /data/site1>
require all granted
</directory>
CustomLog "logs/a_access_log" combined
</virtualhost>
<virtualhost *:80>
<directory /data/site2>
require all granted
</directory>
documentroot /data/site2
servername www.b.com
CustomLog "logs/b_access_log" combined
</virtualhost>
<virtualhost *:80>
servername www.c.com
<directory /data/site3>
require all granted
</directory>
documentroot /data/site3
CustomLog "logs/c_access_log" combined
</virtualhost>
2.在測試機hosts文件中添加名詞解析
vim /etc/hosts
192.168.36.7 www.a.com www.b.com www.c.com