摘要:虛擬主機域名配置服務器中有兩個不同的項目和,我們需要把頂級域名綁定到項目,將二級域名綁定到項目中。域名解析首先,在對服務器進行配置之前,先確保你的域名已經進行正確的解析。主機記錄說明要將域名解析為,在主機記錄處填寫即可。
Apache虛擬主機域名配置
服務器中有兩個不同的項目siteA和siteB,我們需要把頂級域名www.siteA.com綁定到項目siteA,將二級域名siteB.siteA.com綁定到項目siteB中。于是,我們使用了基于名稱的虛擬主機來進行設置。
域名解析首先,在對服務器進行配置之前,先確保你的域名已經進行正確的解析。針對以上的情景,我們需要將為頂級域名和二級域名在域名服務商中進行解析(假設服務器IP為121.199.XXX.XXX):
主機記錄 | 記錄值(IP) |
---|---|
siteB | 121.199.XXX.XXX |
www | 121.199.XXX.XXX |
驗證是否解析成功,可以在瀏覽器輸入www.siteA.com/siteA 和 siteB.siteA.com/siteB,查看是否可以訪問到相應服務器。
服務器配置我們的服務器系統為ubuntu12,apache的web服務器,下面以該系統為基礎對服務器配置進行說明:
(1)安裝好apache以后默認有一個叫default的虛擬主機。在 /etc/apache2/sites-enabled中,存在一個000-default 的軟鏈接文件,實際連接的是 /etc/apache2/sites-available 目錄中的 default 文件,這是一個默認的配置文件,它指向的是服務器的站點根目錄/var/www,我們可以模仿該配置文件創建兩個新的虛擬主機。
(2)復制虛擬主機的默認配置文件,siteA的虛擬主機名稱為www.siteA.com,siteB的虛擬主機名稱為siteB.siteA.com,
$ copy /etc/apache2/site-available/default /etc/apache2/site-available/www.siteA.com $ copy /etc/apache2/site-available/default /etc/apache2/site-available/siteB.siteA.com
復制好后,我們打開www.siteA.com的配置文件,將其修改為如下:
ServerName www.siteA.com ServerAdmin admin@email.com DocumentRoot /var/www/siteA Options FollowSymLinks AllowOverride None Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny Allow from all # This directive allows us to have apache2"s default start page # in /apache2-default/, but still have / go to the right place # Commented out for Ubuntu #RedirectMatch ^/$ /apache2-default/ ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ AllowOverride None Options ExecCGI -MultiViews +SymLinksIfOwnerMatch Order allow,deny Allow from all ErrorLog /var/log/apache2/siteA_error.log # Possible values include: debug, info, notice, warn, error, crit, # alert, emerg. LogLevel warn CustomLog /var/log/apache2/siteA_access.log combined ServerSignature On Alias /doc/ "/usr/share/doc/"Options Indexes MultiViews FollowSymLinks AllowOverride None Order deny,allow Deny from all Allow from 127.0.0.0/255.0.0.0 ::1/128
主要更改有以上內容,具體的含義如下:
ServerName www.siteA.com:設置虛擬主機的域名,www.siteA.com可以是你注冊的任何域名
ServerAdmin admin@mail.com:設置該虛擬主機網管員的郵件
DocumentRoot /var/www/siteA:設置該虛擬主機的主目錄路徑
ErrorLog /var/log/apache2/siteA_error.log:設置該虛擬主機的出錯信息
CustomLog /var/log/apache2/siteB_access.log combined:設置該虛擬主機的訪問信息
保存好后,啟用站點,重啟apache。
$ sudo a2ensite www.siteA.com
這時在/etc/apache2/sites-enabled 中會有指向www.siteA.com配置文件的軟連接。
$ sudo /etc/init.d/apache2 restart
現在查看是否綁定成功,在瀏覽器中輸入 www.siteA.com,看看是否自動訪問 服務器中 的項目siteA的index文件,如果是,則說明綁定成功。
二級域名的設置二級域名siteB.siteA.com的綁定方式跟上面一樣,修改配置文件
ServerName siteB.siteA.com ServerAdmin admin@email.com DocumentRoot /var/www/siteB Options FollowSymLinks AllowOverride None Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny Allow from all # This directive allows us to have apache2"s default start page # in /apache2-default/, but still have / go to the right place # Commented out for Ubuntu #RedirectMatch ^/$ /apache2-default/ ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ AllowOverride None Options ExecCGI -MultiViews +SymLinksIfOwnerMatch Order allow,deny Allow from all ErrorLog /var/log/apache2/siteB_error.log # Possible values include: debug, info, notice, warn, error, crit, # alert, emerg. LogLevel warn CustomLog /var/log/apache2/siteB_access.log combined ServerSignature On Alias /doc/ "/usr/share/doc/"Options Indexes MultiViews FollowSymLinks AllowOverride None Order deny,allow Deny from all Allow from 127.0.0.0/255.0.0.0 ::1/128
啟用站點,重啟apache
$ sudo a2ensite siteB.siteA.com $ sudo /etc/init.d/apache2 restart
完成后,在瀏覽器中輸入 siteB.siteA.com,查看是否自動訪問到 siteB/index. 中。
注意:綁定域名后,項目代碼中的路徑訪問和跳轉最好不要絕對路徑,例如如果代碼中使用重定向到 http://serverName/siteA/login...,當使用域名訪問時,會跳轉到http://www.siteA.com/siteA/lo...,這時候會出現 404 NOT FOUND的錯誤,因為www.siteA.com已經綁定了siteA的目錄,這時候它會去訪問siteA/siteA/login.php的文件,該文件其實是在siteA/login.php目錄下的。
如果你想要停用以上的站點,可以使用命名:
$ sudo a2dissite www.siteA.com $ sudo a2dissite siteB.siteA.com
重啟apache后,域名綁定就會被取消了。
具體原理說明可以參考:http://wiki.ubuntu.org.cn/Apa...
附注說明:
域名解析的“記錄類型”說明:
記錄類型 | 說明 |
---|---|
搭建網站 | 要將域名指向主機服務商提供的IP地址,請選擇「A記錄」;要將域名指向主機服務商提供的另一個域名,請選擇「CNAME記錄」。 |
建立郵箱 | 需要設置「MX記錄」,根據郵箱服務商提供的MX記錄填寫。 |
A記錄 | 將域名指向一個IPv4地址(例如:10.10.10.10),需要增加A記錄 |
CNAME記錄 | 如果將域名指向一個域名,實現與被指向域名相同的訪問效果,需要增加CNAME記錄 |
MX記錄 | 建立電子郵箱服務,將指向郵件服務器地址,需要設置MX記錄 |
NS記錄 | 域名解析服務器記錄,如果要將子域名指定某個域名服務器來解析,需要設置NS記錄 |
TXT記錄 | 可任意填寫(可為空),通常用做SPF記錄(反垃圾郵件)使用 |
AAAA記錄 | 將主機名(或域名)指向一個IPv6地址(例如:ff03:0:0:0:0:0:0:c1),需要添加AAAA記錄 |
SRV記錄 | 記錄了哪臺計算機提供了哪個服務。格式為:服務的名字.協議的類型(例如:_example-server._tcp) |
顯性URL | 將域名指向一個http(s)協議地址,訪問域名時,自動跳轉至目標地址(例如:將www.net.cn顯性轉發到www.hichina.com后,訪問www.net.cn時,地址欄顯示的地址為:www.hichina.com)。 |
隱性URL | 與顯性URL類似,但隱性轉發會隱藏真實的目標地址(例如:將www.net.cn隱性轉發到www.hichina.com后,訪問www.net.cn時,地址欄顯示的地址仍然為:www.net.cn)。 |
“主機記錄”說明:
要將域名example.com解析為www.example.com,在主機記錄(RR)處填寫www即可。
主機記錄就是域名前綴,常見用法有:
主機記錄類型 | 說明 |
---|---|
www | 將域名解析為www.example.com,填寫www; |
@ | 將域名解析為example.com(不帶www),填寫@或者不填寫; |
將域名解析為mail.example.com,通常用于解析郵箱服務器; | |
* | 泛解析,所有子域名均被解析到統一地址(除多帶帶設置的子域名解析); |
二級域名 | 如:mail.example.com或abc.example.com,填寫mail或abc; |
手機網站 | 如:m.example.com,填寫m。 |
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/35881.html
摘要:前言虛擬主機配置有中方法基于配置基于域名配置和基于端口配置,在一個服務器上可以配置多個虛擬主機,實現一個服務器提供多站點服務,其實就是訪問同一個服務器上的不同目錄。 前言:Apache虛擬主機配置有3中方法:基于IP配置、基于域名配置和基于端口配置,在一個Apache服務器上可以配置多個虛擬主機,實現一個服務器提供多站點服務,其實就是訪問同一個服務器上的不同目錄。 一、基于域名配置 1...
摘要:第一步在的打開文件然后搜索去掉前邊的注釋符號第二步在的打開文件打開了配置虛擬主機的文件后就可以配置你需要的虛擬主機了。 第一步 在 MAC 的 /Applications/XAMPP/xamppfiles/etc 打開 httpd.conf 文件. 然后搜索 httpd-vhosts.conf 去掉前邊的 # 注釋符號 showImg(https://segmentfault.com/...
閱讀 823·2021-09-07 09:58
閱讀 2681·2021-08-31 09:42
閱讀 2854·2019-08-30 14:18
閱讀 3086·2019-08-30 14:08
閱讀 1831·2019-08-30 12:57
閱讀 2757·2019-08-26 13:31
閱讀 1298·2019-08-26 11:58
閱讀 1052·2019-08-23 18:06