五月综合缴情婷婷六月,色94色欧美sute亚洲线路二,日韩制服国产精品一区,色噜噜一区二区三区,香港三级午夜理伦三级三

您現(xiàn)在的位置: 365建站網(wǎng) > 365文章 > apache 虛擬主機設(shè)置

apache 虛擬主機設(shè)置

文章來源:365jz.com     點擊數(shù):633    更新時間:2009-10-14 10:51   參與評論

環(huán)境:

os:ubuntu9.0.4

apache: Apache/2.2.11 (Ubuntu)

在ubuntu下apache的配置和redhat系列稍有不同

apache2的虛擬主機配置取決于幾個重要的配置文件
/etc/apache2/ports.conf    放置 NameVirtualHost指令和Listen指令
/etc/apache2/sites-enable/*        放置虛擬主機的軟鏈, 軟鏈到/etc/apache2/sites-available/目錄的同名文件 我了解為方便配置,一個文件一個虛擬主機
/etc/apache2/sites-available/*    放置虛擬主機文件的地方   

apache2沒有主服務(wù)器的說法,當(dāng)然你可以配置,一切都是虛擬主機通過VirtualHost指令來配置

1)基于域名的虛擬主機

NameVirtualHost addr[:port] 這個指令是必須的
否者虛擬主機不會有效果

比如兩個配置文件www 和www1,
www
<VirtualHost *:80>
    ServerAdmin webmaster@localhost
        ServerName www.toy.org
    DocumentRoot /var/www
</VirtualHost>

www1
<VirtualHost *:80>
    ServerAdmin webmaster@localhost
        ServerName www1.toy.org
    DocumentRoot /var/www1
</VirtualHost>

設(shè)置NameVirtualHost *:80后一切正常,
如果不設(shè)置,http://www.toy.org 和http://www1.toy.org 都會訪問www配置
為什么都訪問www,而不是www1,到底以那個配置為準(zhǔn)
我猜測,apache2會安配置文件的名字排序,已排在前面的配置為準(zhǔn)
為了驗證這個猜測,我將www名字改為zzz,
果然http://www.toy.org 和http://www1.toy.org 都會訪問www1配置

注意NameVirtualHost 后面的addr[:port] 必須和VirtualHost 后面的addr[:port]嚴格一致,
比如NameVirtualHost *:80  VirtualHost 127.0.0.1:80是不匹配的

另外你
可通過shell腳本 /usr/sbin/apache2ctl -S
或者 二進制腳本 sudo /usr/sbin/httpd -S
調(diào)試虛擬主機設(shè)置

2)基于ip地址的虛擬主機
www
<VirtualHost 127.0.0.1:80>
    ServerAdmin webmaster@localhost
        ServerName www.toy.org
    DocumentRoot /var/www
</VirtualHost>

www1
<VirtualHost 192.168.1.103:80>
    ServerAdmin webmaster@localhost
        ServerName www1.toy.org
    DocumentRoot /var/www1
</VirtualHost>

無須設(shè)置NameVirtualHost

3)_default_虛擬主機
比如
<VirtualHost _default_>
    DocumentRoot /www/htdocs
</VirtualHost>
如果apache找不到(ip地址:端口號)對應(yīng)的虛擬主機,那么就使用_default_虛擬主機

小結(jié)
上面兩種是虛擬主機配置最基本的情況,復(fù)雜的比如將上面的基本情況混雜在一起,但基本原理不變 :

1)基于域名的虛擬主機和基于IP的虛擬主機之間互相不干擾?;贗P的虛擬主機只接受發(fā)送到它自身地址集的請求,而不接受其他IP地址。
基于域名的虛擬主機也是一樣,它們只接受NameVirtualHost指令定義的地址集的訪問

2)永遠不會對一個基于IP的虛擬主機執(zhí)行ServerAlias和ServerPath檢查

3)僅當(dāng)沒有其他虛擬主機符合客戶端請求的IP地址和端口號時,"_default_"虛擬主機才會捕獲這個請求。
并且僅當(dāng)"_default_"虛擬主機的端口號(默認值由您的Listen指定)與客戶端發(fā)送請求的目的端口號相符時,這個請求才會被捕獲。
也可以使用通配符(例如:"_default_:*")來捕獲任何端口號的請求

4)應(yīng)當(dāng)為每個虛擬主機設(shè)定ServerName 。否則就會需要為每個虛擬主機進行DNS查詢

5)
在開啟虛擬主機的情況下,當(dāng)一個請求到達的時候,服務(wù)器會首先檢查它是否使用了一個能和NameVirtualHost相匹配的(ip地址:端口號)
如果能夠匹配,它就會查找每個與這個(ip地址:端口號)相對應(yīng)的<VirtualHost>段,并嘗試找出一個與請求的主機名相同的ServerName或ServerAlias配置項。
如果找到了,它就會使用這個服務(wù)器。否則,將使用符合這個(ip地址:端口號)的第一個列出的虛擬主機,(怎么確定第一個,這個在上文已討論 ),
如果連這個地址的虛擬主機都找不到,就去找_default_虛擬主機, 如果還找不到,返回404

6)別忘了使用上文提到的 httpd -S來調(diào)試

如對本文有疑問,請?zhí)峤坏浇涣髡搲?,廣大熱心網(wǎng)友會為你解答!! 點擊進入論壇

發(fā)表評論 (633人查看0條評論)
請自覺遵守互聯(lián)網(wǎng)相關(guān)的政策法規(guī),嚴禁發(fā)布色情、暴力、反動的言論。
昵稱:
最新評論
------分隔線----------------------------

其它欄目

· 建站教程
· 365學(xué)習(xí)

業(yè)務(wù)咨詢

· 技術(shù)支持
· 服務(wù)時間:9:00-18:00
365建站網(wǎng)二維碼

Powered by 365建站網(wǎng) RSS地圖 HTML地圖

copyright © 2013-2024 版權(quán)所有 鄂ICP備17013400號