【技術小記 | 伺服器】Linux環境下Apache2配置多個虛擬主機
阿新 • • 發佈:2018-12-30
歡迎大家訪問我的個人部落格:吳佳軼 | WuJiaYi,第一時間獲取最新的文章。
多域名訪問同一主機
從去年開始就一直維護著目前的這個技術部落格,前不久突然想搭建一個與技術無關的個人網站,釋出一些生活上的好玩趣事、釋出一些自己的攝影作品。新域名備案成功後,遇到了一個問題,如何在擁有一臺伺服器,一個公網IP的情況下,部署兩個或多個不同的網站。經過詳細瞭解後,總結出這篇使用Apache2配置多個虛擬主機的教程。
我們的需求
假設我們現在擁有 www.a.com
和 www.b.com
兩個域名,以及一個擁有公網IP ( 158.58.58.58
) 的伺服器。
現在想通過不同域名訪問同一個IP的伺服器下,不同的根目錄。例如:/var/www/a/
/var/www/b
。
第一步 : 修改hosts檔案
- 用 vim 開啟
/etc/hosts
檔案。
[root@yourname /]# vim /etc/hosts
- 在檔案末尾新增內容:IP地址 + 域名 (中間有空格)。
第二步 : 修改 httpd.conf
- 修改
httpd.conf
檔案,找到NameVirtualHost *:80
,在語句前面加 # 註釋。 - 如果配置檔案是
apache2.conf
則直接跳過此步驟。
第三步 : 修改 httpd-vhosts.conf 或 000-default.conf 檔案
- 修改配置檔案
httpd-vhosts.conf
<VirtualHost *:80>
DocumentRoot /var/www/a
ServerName www.a.com
</VirtualHost>
<VirtualHost *:80>
DocumentRoot /var/www/b
ServerName www.b.com
</VirtualHost>
- 如果使用
apt-get
安裝的 Apache2 ,請修改/etc/apache2/sites-enabled/000-default.conf
檔案。新增程式碼同上。 - 重啟 Apache :
sudo /etc/init.d/apache2 restart
- 虛擬主機配置結束。
驗證
使用瀏覽器分別輸入 www.a.com
和 www.b.com
,驗證是否配置成功。