如何在同一臺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
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