1. 程式人生 > >Apache2.2虛擬主機設定

Apache2.2虛擬主機設定

1.conf/httpd.conf檔案尾新增

#開啟vhost模組
LoadModule vhost_alias_module modules/mod_vhost_alias.so

# 從
"Host:"頭中取得主機名
UseCanonicalName Off

# 這種日誌格式可以從第一個欄位中提取出主機名
LogFormat 
"%V %h %l %u %t "%r" %s %b" vcommon
CustomLog E:/www/logs/access.log vcommon

# 在返回請求的檔名路徑中包含主機名
VirtualDocumentRoot E:/www/hosts/%
0

#VirtualScriptAlias /www/hosts/%
0/cgi-bin 

<VirtualHost *:
80
#這個一定要設定,否則伺服器返回404(拒絕訪問)。
    <Directory 
"E:/www/hosts"
        Order allow
,deny 
        Allow from all 
    </Directory> 
</VirtualHost> 

2.修改 C:/WINDOWS/system32/drivers/etc/hosts增加對映

127.0.0.1    localhost
127.0.0.1

3.E:/www目錄設定(web服務檔案):

E:/www>dir /w /s /b

------------------------------------------------------------------------------------------------------------------------------------

E:/www/hosts
E:/www/logs
E:/www/hosts/localhost
E:/www/hosts/www.myext.com
E:/www/hosts/localhost/index.html
E:/www/hosts/www.myext.com/index.html

------------------------------------------------------------------------------------------------------------------------------------

5.測試效果

啟動apache,分別訪問localhost/www.myext.com,則可以看到頁面和訪問日誌:

www.myext.com 127.0.0.1 - - [16/Dec/2007:00:25:03 +0800] "GET / HTTP/1.1" 304 -
www.myext.com 127.0.0.1 - - [16/Dec/2007:00:25:38 +0800] "GET /index.html HTTP/1.1" 200 19
localhost 127.0.0.1 - - [16/Dec/2007:00:26:05 +0800] "GET / HTTP/1.1" 304 -

6.虛擬主機配置建議

虛擬主機少:用VirtualHost功能 改良:使用mod_vhost_alias模組配置動態虛擬主機,這樣新增主機就不需要重啟Apache。 虛擬主機多:使用代理吞吐(Proxy Throughput)功能(flag [P]),非單純的URL重寫,要加上埠轉換,這樣就可以使用多個Tomcat(防止相互影響)。 不建議使用Tomcat的<Context…/>級+Apache的URL重寫功能來“仿冒”Host,這樣會對具體web應用的路徑使用帶來限制。        Apache動態VirtualHost (1)àTomcat<Host>級配置(ajp1)        Apache動態VirtualHost (2)àTomcat<Host>級配置(ajp2)        Apache動態VirtualHost (X)àTomcat<Host>級配置(ajpX) 注:Apache2.2中不再使用jk,而使用下列模組 LoadModule proxy_module modules/mod_proxy.so LoadModule proxy_ajp_module modules/mod_proxy_ajp.so LoadModule proxy_balancer_module modules/mod_proxy_balancer.so LoadModule status_module modules/mod_status.so LoadModule proxy_http_module modules/mod_proxy_http.so