
image
歡迎大家訪問(wèn)我的個(gè)人博客:吳佳軼 | WuJiaYi,第一時(shí)間獲取最新的文章。
多域名訪問(wèn)同一主機(jī)
從去年開(kāi)始就一直維護(hù)著目前的這個(gè)技術(shù)博客,前不久突然想搭建一個(gè)與技術(shù)無(wú)關(guān)的個(gè)人網(wǎng)站,發(fā)布一些生活上的好玩趣事、發(fā)布一些自己的攝影作品。新域名備案成功后,遇到了一個(gè)問(wèn)題,如何在擁有一臺(tái)服務(wù)器,一個(gè)公網(wǎng)IP的情況下,部署兩個(gè)或多個(gè)不同的網(wǎng)站。經(jīng)過(guò)詳細(xì)了解后,總結(jié)出這篇使用Apache2配置多個(gè)虛擬主機(jī)的教程。
我們的需求
假設(shè)我們現(xiàn)在擁有 www.a.com 和 www.b.com 兩個(gè)域名,以及一個(gè)擁有公網(wǎng)IP ( 158.58.58.58 ) 的服務(wù)器。
現(xiàn)在想通過(guò)不同域名訪問(wèn)同一個(gè)IP的服務(wù)器下,不同的根目錄。例如:/var/www/a/ 和 /var/www/b 。
第一步 : 修改hosts文件
- 用 vim 打開(kāi)
/etc/hosts文件。
[root@yourname /]# vim /etc/hosts
- 在文件末尾添加內(nèi)容:**IP地址 + 域名 ** (中間有空格)。

hosts
第二步 : 修改 httpd.conf
- 修改
httpd.conf文件,找到NameVirtualHost *:80,在語(yǔ)句前面加 # 注釋。 - 如果配置文件是
apache2.conf則直接跳過(guò)此步驟。
第三步 : 修改 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 ,請(qǐng)修改/etc/apache2/sites-enabled/000-default.conf文件。添加代碼同上。 - 重啟 Apache :
sudo /etc/init.d/apache2 restart。 - 虛擬主機(jī)配置結(jié)束。
驗(yàn)證
使用瀏覽器分別輸入 www.a.com 和 www.b.com ,驗(yàn)證是否配置成功。