1. 程式人生 > >如何在同一臺VPS上使用apache繫結多個域名(親測可行!!!)

如何在同一臺VPS上使用apache繫結多個域名(親測可行!!!)

基於域名的虛擬主機相對比較簡單,因為你只需要配置你的DNS伺服器將每個主機名對映到正確的IP地址,然後配置Apache HTTP伺服器,令其辨識不同的主機名就可以了。基於域名的伺服器也可以緩解IP地址不足的問題。所以,如果沒有特殊原因使你必須使用基於IP的虛擬主機,您最好還是使用基於域名的虛擬主機。下列情況下,你可能會想要使用基於IP的虛擬主機。

我這裡的就是基於域名的虛擬主機,首先你需要到你的DNS解析商那裡設定正確的A記錄。我這裡首先講解如何繫結不同的域名地址。

例如,我有兩個域名:royalchen.com和iicode.cn,我希望兩個域名都由同一臺VPS提供服務

首先到DNS解析那裡設定正確的A記錄,例如

iicode的主機記錄為www      A記錄      記錄值為182.254.*.*

royalchen.com的主機記錄為www   A記錄     記錄值為182.254.*.*(這裡的記錄值和上一個是完全一樣的,即同一臺VPS)

然後只需要編輯/etc/httpd/conf/httpd.conf檔案即可。

因為是基於域名的虛擬主機,因此要將NameVirtualHost *:80前面的#去掉使其生效!(最好檢查一下LoadModule rewrite_module modules/mod_rewrite.so這一句,去掉前面的#使其生效)

然後在httpd.con最後加上虛擬主機的內容

<VirtualHost *:80>
ServerName www.royalchen.com   #瀏覽器訪問www.royalchen.com的時候
DocumentRoot /var/www/html/www  #royalchen的內容路徑
DirectoryIndex index.html  #首頁
</VirtualHost>

<VirtualHost *:80>
ServerName www.iicode.cn   #瀏覽器訪問www.iicode.cn的時候
ServerAlias iicode.cn *.iicode.cn
DocumentRoot /var/www/html/iicode

   #iicode.cn的內容目錄
DirectoryIndex index.html
</VirtualHost>

最後重啟一下httpd服務即可!這樣就可以讓一臺web伺服器繫結兩個域名了,多個域名的設定也是完全一樣的。

下面再稍微說下二級域名的設定。

其實也是完成一樣的,以我的royalchen.com為例,擁有blog,mail,home,code等多個二級域名。

首先也是設定正確的DNS解析,例如

home   A   182.254.*.* blog     A   182.254.*.*(和上面那個是同一個) 一樣需要開啟NameVirtualHost *:80

然後virtualHost的內容也是差不多的

<VirtualHost *:80>
ServerName home.royalchen.com
DocumentRoot /var/www/html/home
DirectoryIndex index.htm
</VirtualHost>

<VirtualHost *:80>
ServerName blog.royalchen.com
DocumentRoot /var/www/html/blog
DirectoryIndex index.php
</VirtualHost>

重啟httpd之後就可以了,需要注意的是,如果使用了*名字進行模糊匹配,則要將該匹配放到最後,因為apache是順序下來匹配的!

不懂的可以留言或者email給我~~

第一次在自有部落格寫文章,哈哈哈哈~~~

備註:自2015-03-25之後,如無特殊說明,文章均為coderguang原創,轉載請註明出處,文章由coderguang保留所有權利。

日期:2015-03-25