CentOS 7.3配置Apache虛擬主機
實驗環境
- 一臺最小化安裝的CentOS 7.3虛擬機器
配置基礎環境
1. 安裝apache
yum install -y httpd
2. 建立虛擬主機的根目錄
mkdir /var/wwwroot mkdir /var/wwwroot/site1 mkdir /var/wwwroot/site2 echo -e "site1" >> /var/wwwroot/site1/index.html echo -e "site2" >> /var/wwwroot/site2/index.html
3. 關閉CentOS的防火牆
setenforce 0 systemctl stop firewalld systemctl disable firewalld
配置基於埠的虛擬主機
1. 編輯apache配置檔案
vim /etc/httpd/conf.d/vhost.conf
2. 新增以下內容
Listen 8081 <VirtualHost *:8081> DocumentRoot "/var/wwwroot/site1" ErrorLog "logs/site1.error.log" CustomLog "logs/site1.access.log" common <Directory "/var/wwwroot/site1"> Options Indexes FollowSymLinks MultiViews AllowOverride None Require all granted </Directory> </VirtualHost> Listen 8082 <VirtualHost *:8082> DocumentRoot "/var/wwwroot/site2" ErrorLog "logs/site2.error.log" CustomLog "logs/site2.access.log" common <Directory "/var/wwwroot/site2"> Options Indexes FollowSymLinks MultiViews AllowOverride None Require all granted </Directory> </VirtualHost>
3. 啟動apache服務
systemctl start httpd
4. 在宿主機訪問兩個站點
http://192.168.204.133:8081
http://192.168.204.133:8082
配置基於域名的虛擬主機
1. 編輯apache配置檔案
vim /etc/httpd/conf.d/vhost.conf
2. 修改為以下內容
<VirtualHost *:80> DocumentRoot "/var/wwwroot/site1" ServerName site1.test.com ErrorLog "logs/site1.error.log" CustomLog "logs/site1.access.log" common <Directory "/var/wwwroot/site1"> Options Indexes FollowSymLinks MultiViews AllowOverride None Require all granted </Directory> </VirtualHost> <VirtualHost *:80> DocumentRoot "/var/wwwroot/site2" ServerName site2.test.com ErrorLog "logs/site2.error.log" CustomLog "logs/site2.access.log" common <Directory "/var/wwwroot/site2"> Options Indexes FollowSymLinks MultiViews AllowOverride None Require all granted </Directory> </VirtualHost>
3. 重啟apache服務
systemctl restart httpd
4. 在Windows上修改 hosts
檔案
編輯 C:\Windows\System32\drivers\etc\hosts
檔案,
新增以下內容(根據實際情況自己修改)
192.168.204.135site1.test.com 192.168.204.135site2.test.com
5. 在宿主機訪問兩個站點
http://site1.test.com/
http://site2.test.com/
配置基於IP的虛擬主機
1. 在虛擬機器上增加兩個IP地址
ifconfig ens33:1 192.168.204.135 ifconfig ens33:2 192.168.204.136
2. 重新編輯apache配置檔案
vim /etc/httpd/conf.d/vhost.conf
3. 修改配置檔案為以下內容
<VirtualHost 192.168.204.135:80> DocumentRoot "/var/wwwroot/site1" ErrorLog "logs/site1.error.log" CustomLog "logs/site1.access.log" common <Directory "/var/wwwroot/site1"> Options Indexes FollowSymLinks MultiViews AllowOverride None Require all granted </Directory> </VirtualHost> <VirtualHost 192.168.204.136:80> DocumentRoot "/var/wwwroot/site2" ErrorLog "logs/site2.error.log" CustomLog "logs/site2.access.log" common <Directory "/var/wwwroot/site2"> Options Indexes FollowSymLinks MultiViews AllowOverride None Require all granted </Directory> </VirtualHost>
4. 重啟apache服務
systemctl restart httpd
5. 在宿主機訪問兩個站點
http://192.168.204.135/
http://192.168.204.136/