W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
如果一臺服務(wù)器有多個IP地址,而且每個IP地址與服務(wù)器上部署的每個網(wǎng)站一一對應(yīng),這樣當(dāng)用戶請求訪問不同的IP地址時,會訪問到不同網(wǎng)站的頁面資源。而且,每個網(wǎng)站都有一個獨(dú)立的IP地址,對搜索引擎優(yōu)化也大有裨益。因此以這種方式提供虛擬網(wǎng)站主機(jī)功能不僅最常見,也受到了網(wǎng)站站長的歡迎(尤其是草根站長)。
劉遄老師在第4章和第9章分別講解了用于配置網(wǎng)絡(luò)的兩種方法,大家在實驗中和工作中可隨意選擇。就當(dāng)前的實驗來講,需要配置的IP地址如圖10-13所示。在配置完畢并重啟網(wǎng)卡服務(wù)之后,記得檢查網(wǎng)絡(luò)的連通性,確保三個IP地址均可正常訪問,如圖10-14所示(這很重要,一定要測試好,然后再進(jìn)行下一步!)。
圖10-13 使用nmtui命令配置網(wǎng)絡(luò)參數(shù)
第1步:分別在/home/wwwroot中創(chuàng)建用于保存不同網(wǎng)站數(shù)據(jù)的3個目錄,并向其中分別寫入網(wǎng)站的首頁文件。每個首頁文件中應(yīng)有明確區(qū)分不同網(wǎng)站內(nèi)容的信息,方便我們稍后能更直觀地檢查效果。
圖10-14 分別檢查3個IP地址的連通性
[root@linuxprobe ~]# mkdir -p /home/wwwroot/10 [root@linuxprobe ~]# mkdir -p /home/wwwroot/20 [root@linuxprobe ~]# mkdir -p /home/wwwroot/30 [root@linuxprobe ~]# echo "IP:192.168.10.10" > /home/wwwroot/10/index.html [root@linuxprobe ~]# echo "IP:192.168.10.20" > /home/wwwroot/20/index.html [root@linuxprobe ~]# echo "IP:192.168.10.30" > /home/wwwroot/30/index.html 第2步:在httpd服務(wù)的配置文件中大約113行處開始,分別追加寫入三個基于IP地址的虛擬主機(jī)網(wǎng)站參數(shù),然后保存并退出。記得需要重啟httpd服務(wù),這些配置才生效。
[root@linuxprobe ~]# vim /etc/httpd/conf/httpd.conf
………………省略部分輸出信息………………
113 <VirtualHost 192.168.10.10>
114 DocumentRoot /home/wwwroot/10
115 ServerName www.linuxprobe.com
116 <Directory /home/wwwroot/10 >
117 AllowOverride None
118 Require all granted
119 </Directory>
120 </VirtualHost>
121 <VirtualHost 192.168.10.20>
122 DocumentRoot /home/wwwroot/20
123 ServerName bbs.linuxprobe.com
124 <Directory /home/wwwroot/20 >
125 AllowOverride None
126 Require all granted
127 </Directory>
128 </VirtualHost>
129 <VirtualHost 192.168.10.30>
130 DocumentRoot /home/wwwroot/30
131 ServerName tech.linuxprobe.com
132 <Directory /home/wwwroot/30 >
133 AllowOverride None
134 Require all granted
135 </Directory>
136 </VirtualHost>
………………省略部分輸出信息………………
[root@linuxprobe ~]# systemctl restart httpd
第3步:此時訪問網(wǎng)站,則會看到httpd服務(wù)程序的默認(rèn)首頁面。大家現(xiàn)在應(yīng)該立刻就反應(yīng)過來—這是SELinux在搗鬼。由于當(dāng)前的/home/wwwroot目錄及里面的網(wǎng)站數(shù)據(jù)目錄的SELinux安全上下文與網(wǎng)站服務(wù)不吻合,因此httpd服務(wù)程序無法獲取到這些網(wǎng)站數(shù)據(jù)目錄。我們需要手動把新的網(wǎng)站數(shù)據(jù)目錄的SELinux安全上下文設(shè)置正確(見前文的實驗),并使用restorecon命令讓新設(shè)置的SELinux安全上下文立即生效,這樣就可以立即看到網(wǎng)站的訪問效果了,如圖10-15所示。
[root@linuxprobe ~]# semanage fcontext -a -t httpd_sys_content_t /home/wwwroot
[root@linuxprobe ~]# semanage fcontext -a -t httpd_sys_content_t /home/wwwroot/10
[root@linuxprobe ~]# semanage fcontext -a -t httpd_sys_content_t /home/wwwroot/10/*
[root@linuxprobe ~]# semanage fcontext -a -t httpd_sys_content_t /home/wwwroot/20
[root@linuxprobe ~]# semanage fcontext -a -t httpd_sys_content_t /home/wwwroot/20/*
[root@linuxprobe ~]# semanage fcontext -a -t httpd_sys_content_t /home/wwwroot/30
[root@linuxprobe ~]# semanage fcontext -a -t httpd_sys_content_t /home/wwwroot/30/*
[root@linuxprobe ~]# restorecon -Rv /home/wwwroot
restorecon reset /home/wwwroot context unconfined_u:object_r:home_root_t:s0->unconfined_u:object_r:httpd_sys_content_t:s0
restorecon reset /home/wwwroot/10 context unconfined_u:object_r:home_root_t:s0->unconfined_u:object_r:httpd_sys_content_t:s0
restorecon reset /home/wwwroot/10/index.html context unconfined_u:object_r:home_root_t:s0->unconfined_u:object_r:httpd_sys_content_t:s0
restorecon reset /home/wwwroot/20 context unconfined_u:object_r:home_root_t:s0->unconfined_u:object_r:httpd_sys_content_t:s0
restorecon reset /home/wwwroot/20/index.html context unconfined_u:object_r:home_root_t:s0->unconfined_u:object_r:httpd_sys_content_t:s0
restorecon reset /home/wwwroot/30 context unconfined_u:object_r:home_root_t:s0->unconfined_u:object_r:httpd_sys_content_t:s0
restorecon reset /home/wwwroot/30/index.html context unconfined_u:object_r:home_root_t:s0->unconfined_u:object_r:httpd_sys_content_t:s0
[root@linuxprobe ~]# firefox
圖10-15 基于不同的IP地址訪問虛擬主機(jī)網(wǎng)站
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: