CentOS 7運維管理筆記(7)----Apache 基於端口的虛擬主機配置


  如果一台服務器只有一個IP或需要通過不同的端口訪問不同的虛擬主機,可以使用基於端口的虛擬主機配置。

(1) 在虛擬機的CentOS7服務器上配置 eth0:4 為192.168.1.214:

 

(2) 配置 /etc/hosts文件以方便測試:

 進行ping測試,看ip地址有沒有導通:

 

(3) 建立虛擬主機存放網頁的根目錄,並建立首頁文件 index.html

 

(4) 修改 /usr/local/apache2/conf/httpd.conf 文件,在文件末尾添加以下內容:

Listen 192.168.1.214:8080
Listen 192.168.1.214:8081
Listen 192.168.1.214:8082

(5) 編輯每個IP端口的配置文件

在 /usr/local/apache2/conf/vhost/ 目錄下新建 porttest.8080.conf ,porttest.8081.conf ,porttest.8082.conf 文件,以 porttest.8080.conf 文件為例:

<VirtualHost 192.168.1.214:8080>
        ServerName porttest
        DocumentRoot  /usr/local/apache2/www/porttest/8080
        <Directory "/usr/local/apache2/www/porttest/8080/">
                Options Indexes FollowSymLinks
                AllowOverride None
                Require all granted
        </Directory>
</VirtualHost>

 

(6) 測試配置文件,並重啟Apache服務器

(i) 使用 apachectl -t 命令測試配置文件是否正確,使用 apachectl restart 命令重啟Apache服務器:

(ii)使用curl命令測試虛擬主機的開啟情況:

顯示無法連接。這時才想起來防火牆沒有開啟 8080,8081,8082這幾個端口,開啟之:

vim /etc/sysconfig/iptables

重啟iptables:

 然后再用 curl 命令連接 porttest:8080,結果得到如下一系列錯誤:

百思不得其解為何 192.168.1.214的8080,8081,8082端口沒有打開,反而是192.168.1.213的這三個端口打開了。重新檢查上面所有的步驟,終於發現原來在第四步,將錯將 Listen 192.168.1.214:8080 寫成了 192.168.1.213:8080:

呵呵,大意了……改正之:

(iii) 測試Apache的配置是否正確,如果正確,重啟Apache服務:

用curl 命令測試:

Windows主機的瀏覽器測試:

成功!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM