apache虛擬主機(jī)指南
:同一ip 不同端口對(duì)應(yīng)不同的站點(diǎn)目錄具體實(shí)現(xiàn):1. 在httpd.conf 中,設(shè)置listen IP:80 listen IP:8080然后在virtualhost 中設(shè)置:DocumnetRo
:同一ip 不同端口對(duì)應(yīng)不同的站點(diǎn)目錄
具體實(shí)現(xiàn):
1. 在httpd.conf 中,設(shè)置listen IP:80 listen IP:8080
然后在virtualhost 中設(shè)置:
DocumnetRoot 1
DocumnetRoot 2
我們通常所說的虛擬主機(jī)
[url=javascript:;]技術(shù)[/url]
就是將一臺(tái)(或者一組)服務(wù)器的資源(系統(tǒng)資源、網(wǎng)絡(luò)帶寬、存儲(chǔ)空間等)按照一定的比例分割成若干臺(tái)相對(duì)獨(dú)立的“小主機(jī)”的技術(shù)。每一臺(tái)這樣的“小主機(jī)”在功能上都可以實(shí)現(xiàn) WWW 、FTP 、Mail 等基本的Internet 服務(wù),就像使用獨(dú)立的主機(jī)一樣。
目前網(wǎng)站服務(wù)器的虛擬主機(jī)平臺(tái)使用以開放的Apache 為最多,其次是微軟的Windows IIS 。Apache 具有跨平臺(tái)(FreeBSD/Linux/Windows/Solaris/Other UNIX)、易于維護(hù)與最佳安全性等優(yōu)點(diǎn)。
Apache 是率先支持基于IP 虛擬主機(jī)的服務(wù)器之一。 Apache 1.1及其更新版本同時(shí)支持基于IP 和基于主機(jī)名的虛擬主機(jī),不同的虛擬主機(jī)有時(shí)會(huì)被稱為基于主機(jī)(host-based) 或非IP 虛擬主機(jī)(non-IP virtual hosts)。
用Apache 設(shè)置虛擬主機(jī)服務(wù)通??梢圆捎脙煞N方案:基于IP 地址的虛擬主機(jī)和基于主機(jī)名字的虛擬主機(jī),下面我們分別介紹一下它們的實(shí)現(xiàn)方法以及優(yōu)缺點(diǎn)。以便大家在具體的應(yīng)用中能夠選擇最合適的實(shí)現(xiàn)方法。
一、Apache 實(shí)現(xiàn)基于IP 地址的虛擬主機(jī)(每個(gè)站點(diǎn)擁有一個(gè)獨(dú)立IP 地址)
使用這種虛擬主機(jī)方式,首先要在服務(wù)器上為每個(gè)虛擬主機(jī)單獨(dú)設(shè)置一個(gè)IP 地址。這些IP 地址可以通過增加多個(gè)網(wǎng)卡或者在一個(gè)網(wǎng)卡上設(shè)立多個(gè)IP 地址來完成。有了多個(gè)IP 地址后,可以采用以下兩種方式之一來設(shè)置Apache 。
1、為每個(gè)虛擬主機(jī)運(yùn)行一份Apache
采用這種方式,每一份Apache 程序可以以單獨(dú)的用戶運(yùn)行,因此各個(gè)虛擬主機(jī)之間互不影響。設(shè)置這種虛擬主機(jī)時(shí),只要為每一份Apache 設(shè)置一套配置文件就可以了,唯一需要注意的是:必須使用“Listen ”語句,強(qiáng)制每一份Apache 僅僅在屬于“自己”的IP 地址上接收服務(wù)請(qǐng)求。
優(yōu)點(diǎn):各個(gè)虛擬主機(jī)之間互不干擾,安全性高。
缺點(diǎn):占用系統(tǒng)資源較多。
2、多個(gè)虛擬主機(jī)共享同一份Apache
采用這種方式,各個(gè)虛擬主機(jī)共享同一份Apache ,因此各個(gè)虛擬主機(jī)之間有一定的影響,尤其是執(zhí)行CGI 程序時(shí),可能會(huì)帶來一些嚴(yán)重的安全問題。設(shè)置這種虛擬主機(jī)時(shí),只要為每一個(gè)虛擬主機(jī)設(shè)置類似如下的信息即可:
DocumentRoot /www/ghq1
…
優(yōu)點(diǎn):占用系統(tǒng)資源比上一種方式少。
缺點(diǎn):安全性低,每個(gè)虛擬主機(jī)仍然需要占用一個(gè)IP 地址。
,例如服務(wù)器一個(gè)網(wǎng)卡上綁定有兩個(gè)IP 地址(172.16.3.40和 172.16.3.50)分別對(duì)應(yīng)域名 www.ghq1.com 和www.ghq2.org 的服務(wù),配置如下:
服務(wù)器配置(apache 的配置文件httpd.conf )
Listen 80
DocumentRoot /www/ghq1
ServerName www.ghq1.com
DocumentRoot /www/ghq2
ServerName www.ghq2.org
配置簡(jiǎn)單說明:“Listen ”默認(rèn)httpd 服務(wù)會(huì)監(jiān)控第80號(hào)通信端口, “Listen ”選項(xiàng)讓用戶自行指定apache 服務(wù)器監(jiān)控的IP 地址或通信端口。
“DocumentRoot ”:指定apache 服務(wù)器存放網(wǎng)頁的根目錄;“ServerName ”:允許用戶自行設(shè)置主機(jī)名,這個(gè)名稱將被送到遠(yuǎn)程連接程序,以取代安裝apache 服務(wù)器主機(jī)的真實(shí)名稱。和構(gòu)成虛擬主機(jī)的語法結(jié)構(gòu),其中的IP 就是我們?cè)诜?wù)器上綁定的不同的IP 地址,也可以是IP 地址加上通信端口號(hào)(見下面的例子)。
如果服務(wù)器有兩個(gè)IP 地址(172.16.3.40和 172.16.3.50)分別對(duì)應(yīng)域名 www.ghq1.com 和www.ghq2.org 。對(duì)每個(gè)域名,我們都希望在80端口和8080端口發(fā)布我們的網(wǎng)站??梢赃@樣配置:
服務(wù)器配置(apache 的配置文件httpd.conf )
Listen 172.16.3.40:80
Listen 172.16.3.40:8080
Listen 172.16.3.50:80
Listen 172.16.3.50:8080
DocumentRoot /www/ghq1-80
ServerName www.ghq1.com
DocumentRoot /www/ghq1-8080
ServerName www.ghq1.com
DocumentRoot /www/ghq2-80
ServerName www.ghq1.org
DocumentRoot /www/ghq2-8080
ServerName www.ghq2.org
因此,建立虛擬主機(jī),我們要做好不同的IP 對(duì)應(yīng)的域名解析
,[url=javascript:;]工作[/url]
,建立相應(yīng)的目錄(如/www/ghq1),將相應(yīng)的主頁內(nèi)容存放在相應(yīng)的目錄中即可。
二、Apache 實(shí)現(xiàn)基于主機(jī)名的虛擬主機(jī)服務(wù)(一個(gè)IP 地址實(shí)現(xiàn)多個(gè)網(wǎng)站)
基于主機(jī)名字的虛擬主機(jī)服務(wù),是目前虛擬主機(jī)比較常用的一種方案。因?yàn)樗恍枰嗟腎P 地址,無須什么特殊的軟硬件支持。而且現(xiàn)在的瀏覽器大都支持這種虛擬主機(jī)的實(shí)現(xiàn)方法?;谟蛎牡奶摂M主機(jī)是根據(jù)客戶端提交的HTTP 頭中的關(guān)于主機(jī)名的部分決定的。使用這種技術(shù),很多虛擬主機(jī)可以享用同一個(gè)IP 地址。
基于域名的虛擬主機(jī)相對(duì)比較簡(jiǎn)單,因?yàn)槲覀冎恍枰渲肈NS 服務(wù)器將每個(gè)主機(jī)名映射(CNAMES )到正確的IP 地址,然后配置Apache HTTP服務(wù)器,令其辨識(shí)不同的主機(jī)名就可以了?;谟蛎姆?wù)器也可以緩解IP 地址(IPV4)不足的問題。這種方式下,各個(gè)虛擬主機(jī)共享同一份Apache ,因此有CGI 程序運(yùn)行時(shí),安全性也不高。
優(yōu)點(diǎn):只要一個(gè)IP 地址就可以提供大量的虛擬主機(jī)服務(wù)。
缺點(diǎn):安全性差。維護(hù)這些虛擬主機(jī)時(shí)需要更改配置文件,并且需要重新啟動(dòng)Apache 進(jìn)程才能起作用。因此不適合進(jìn)行大規(guī)模的虛擬主機(jī)服務(wù)。
如果服務(wù)器只有一個(gè)IP 地址,而在DNS 中有很多映射到這個(gè)機(jī)器。我們想要在這個(gè)機(jī)器上運(yùn)行www.ghq1.com 和 www.ghq2.org 兩個(gè)站點(diǎn)。在Apache 服務(wù)器的配置中創(chuàng)建一個(gè)虛擬主機(jī)并不會(huì)自動(dòng)在DNS 中對(duì)主機(jī)名做相應(yīng)更新。我們必須自己在DNS 中添加域名來指向我們的IP 地址。否則別人是無法看到我們的web 站點(diǎn)。
服務(wù)器配置(apache 的配置文件httpd.conf )
# Ensure that Apache listens on port 80
Listen 80
# Listen for virtual host requests on all IP addresses
NameVirtualHost *
DocumentRoot /www/ghq1
ServerName www.ghq1.com
# Other directives here
DocumentRoot /www/ghq2
ServerName www.ghq2.org
# Other directives here
因?yàn)?(星號(hào))匹配所有的地址,所以主服務(wù)器不接收任何請(qǐng)求。因?yàn)?www.ghq1.com 首先出現(xiàn)在配置文件中,所以它擁有最高優(yōu)先級(jí),可以認(rèn)為是默認(rèn)或首要服務(wù)器。這意味著如果一個(gè)接受的請(qǐng)求不能與某個(gè)ServerName 指令相匹配, 它將會(huì)由第一個(gè)VirtualHost 所伺服。
當(dāng)我們的IP 地址無法確定的時(shí)候,使用*是很方便的--比如說, ISP 給我們配置的是動(dòng)態(tài)IP 地址(如ADSL 撥號(hào)上網(wǎng)),而我們有使用了某種動(dòng)態(tài)域名解析系統(tǒng)時(shí)。因?yàn)?匹配任何IP 地址,所以在這樣的情況下,不論IP 地址如何變化,我們都不需要另外進(jìn)行配置。上述配置就是我們?cè)诮^大多數(shù)情況下使用基于域名的虛擬主機(jī)時(shí)將要用到的。
關(guān)于DNS 和Apache
本文檔的涵義一言以蔽之就是:不要讓Apache 在解析配置文件的時(shí)候用到DNS 。 如果
,Apache 在解析配置文件時(shí)用到了DNS ,您的服務(wù)器就會(huì)發(fā)生可靠性的問題(也可能根本無法啟動(dòng)) , 或者遭致拒絕(偷竊) 服務(wù)攻擊(包括用戶可以從其他用戶那里偷竊點(diǎn)擊) 。 一個(gè)簡(jiǎn)單示例
拒絕服務(wù)
"main server"地址
避免這些問題的小技巧
附錄:進(jìn)一步的提示
一個(gè)簡(jiǎn)單示例
ServerAdmin webgirl@abc.dom
DocumentRoot /www/abc
為了讓Apache 功能正常,一個(gè)虛擬主機(jī)絕對(duì)需要以下兩部分的信息: ServerName 和與服務(wù)器對(duì)應(yīng)的至少一個(gè)IP 地址。 這個(gè)示例沒有包括IP 地址,于是Apache 必須用DNS 來查詢www.abc.dom 的地址。 如果在某些不可預(yù)料的情況下,當(dāng)您的服務(wù)器解析配置文件時(shí)沒有得到DNS 的支持, 那么這個(gè)虛擬主機(jī) 將不會(huì)被配置。 它將不會(huì)對(duì)任何請(qǐng)求作出反應(yīng)。(在Apache 的1.2版本之前,服務(wù)器甚至無法啟動(dòng)) 。
假設(shè)www.abc.dom 的IP 地址是10.0.0.1。那么看看以下這個(gè)配置片斷:
ServerAdmin webgirl@abc.dom
DocumentRoot /www/abc
現(xiàn)在Apache 需要DNS 對(duì)這個(gè)虛擬主機(jī)進(jìn)行反向域名解析來確定ServerName 。 如果反向解析失敗,那么這將導(dǎo)致這個(gè)虛擬主機(jī)部分功能喪失。 (在Apache 的1.2版本之前,服務(wù)器將不能啟動(dòng)) 。如果虛擬主機(jī)是基于域名的, 它將完全不能使用,但如果它是基于IP 的,那么它將很有可能工作。 然而,如果Apache 不得不為一個(gè)已經(jīng)包含了服務(wù)器域名的服務(wù)器產(chǎn)生一個(gè)完整的URL , 那么它將可能產(chǎn)生一個(gè)無效的URL 。
以下是一個(gè)可以避免上述兩個(gè)問題的配置片斷.
ServerName www.abc.dom
ServerAdmin webgirl@abc.dom
DocumentRoot /www/abc
拒絕服務(wù)
拒絕服務(wù)主要由(至少) 兩種形式導(dǎo)致。 如果您在運(yùn)行Apache 1.2以前的版本,在上述兩種情況下,如果您的任何一個(gè)虛擬主機(jī)的DNS 解析失敗,您都會(huì)無法啟動(dòng)服務(wù)。在一些情況下,DNS 解析甚至不在您的控制范圍之內(nèi)。 比如說,如果abc.dom 是您的一個(gè)客戶,而且他們自己控制著DNS 。 那么僅僅是因?yàn)樗麄儎h除了www.abc.dom 這個(gè)記錄, 都會(huì)導(dǎo)致您的服務(wù)器(1.2之前的版本) 無法啟動(dòng)。
另外一種形式就更隱蔽了。比如說下面這個(gè)配置片斷:
ServerAdmin webgirl@abc.dom
DocumentRoot /www/abc
,ServerAdmin webguy@def.dom
DocumentRoot /www/def
假設(shè)您已經(jīng)為www.abc.dom 設(shè)定了10.0.0.1,而為www.def.dom 設(shè)定了10.0.0.2。 更進(jìn)一步,假設(shè)def.com 自己控制DNS 。在這種配置下, 您已經(jīng)把def.com 放到了一個(gè)可以將所有指向abc.com 的所有流量據(jù)為己有的情況之下。為了達(dá)到這樣的目的,他們只需要把www.def.dom 的地址解析設(shè)置成10.0.0.1就可以了。因?yàn)樗麄兛刂浦约旱腄NS 服務(wù), 所以您無法阻止他們把 www.def.com 這個(gè)記錄指向任何一個(gè)IP 地址。
然后,所有向10.0.0.1發(fā)出的請(qǐng)求 (包括用戶所有類似http: //www.abc.dom/任何字符的URL) 都將會(huì)為def.com 這個(gè)虛擬主機(jī)所接收。 為了更好的理解著一切是怎樣發(fā)生的, 您需要一個(gè)關(guān)于 Apache 是怎樣將進(jìn)入的請(qǐng)求分配給它的虛擬主機(jī)的深入說明。 您可以在這里發(fā)現(xiàn)一個(gè)完整的文檔。
"main server"地址
在Apache 1.1 中,基于域名的虛擬主機(jī)支持 需要Apache 知道運(yùn)行著httpd 的主機(jī)的IP 地址。 一般來說可以用全局變量ServerName(如果存在) 或者調(diào)用C 的方法gethostname(與在命令行模式下鍵入hostname 得到的返回值一樣) 。 接著它就會(huì)利用DNS 來查找這個(gè)地址。目前還沒有辦法避免這樣的查找。
如果您擔(dān)心這樣的查找會(huì)因?yàn)槟腄NS 服務(wù)器沒有啟動(dòng)而遭到失敗的結(jié)果, 您就可以在/etc/hosts中插入一條記錄來確定主機(jī)名 (此文件中應(yīng)該已經(jīng)存在這條記錄了,否則您的機(jī)器無法正常啟動(dòng)) 。 然后,您要確認(rèn)您的機(jī)器已經(jīng)配置為當(dāng)DNS 解析失敗的情況下, 它將會(huì)使用/etc/hosts根據(jù)所使用的操作系統(tǒng)不同, 您可能需要在/etc/resolv.conf或/etc/nsswitch.conf 兩個(gè)文件中選擇一個(gè)進(jìn)行編輯。
如果您的服務(wù)器不必因?yàn)槠渌碛啥褂肈NS , 您也許不必在把HOSTRESORDER 環(huán)境變量設(shè)置為 "local" 的情況下運(yùn)行Apache 。 這都取決于您所使用的操作系統(tǒng)和解析庫。如果您沒有使用mod_env來控制環(huán)境變量,它還將影響到 CGI 。強(qiáng)烈建議您參考一下您所使用的操作系統(tǒng)附帶的man 幫助或FAQ 。
避免這些問題的小技巧
在VirtualHost 中使用IP 地址
在Listen 中使用IP 地址
確保所有的虛擬主機(jī)擁有顯式的ServerName 定義。
創(chuàng)建一個(gè)不包含任何服務(wù)頁面的服務(wù)器
附錄:進(jìn)一步的提示
涉及到DNS 的情況都很讓人不舒服。 在Apache 1.2 中,我們努力想讓服務(wù)器在DNS 解析失敗的情況下至少保持能夠啟動(dòng), 但可能我們還是沒能做到最好。在當(dāng)今重編號(hào)成了必須的Internet 上面, 在配置文件中顯式的寫明IP 地址已經(jīng)成為不合時(shí)宜的行為了。
上述盜竊攻擊的解決辦法是, 在一個(gè)正向的DNS 查詢結(jié)果后部署一個(gè)逆向DNS 解析并將兩個(gè)域名進(jìn)行比較。 如果不同,就禁用相應(yīng)的虛擬主機(jī)。 這個(gè)方法需要一個(gè)正確配置了的逆向域名解析服務(wù)器 (因?yàn)镕TP 服務(wù)器和TCP 封裝進(jìn)行的“雙重逆向”DNS 處理的普遍應(yīng)用,這已為大部分管理員所熟知了) 。
在某些情況下,如果沒有使用IP 地址而DNS 解析又失敗了,那么正常啟動(dòng)一個(gè)基于域名的虛擬主機(jī)看來是不可能的。 一些諸如禁用部分配置文件這樣的權(quán)宜之計(jì)會(huì)帶來比根本不能啟動(dòng)更遭的不可預(yù)測(cè)的結(jié)果。
隨著HTTP/1.1的部署以及瀏覽器和代理服務(wù)器開始支持Host 頭,我們完全避免使用基于IP
,的虛擬主機(jī)也逐漸成為可能。 這種狀況下,web 服務(wù)器也不必在配置時(shí)進(jìn)行DNS 的查詢。 但在1997年3月,這些特性的采用還沒有廣泛到可以在重要的web 服務(wù)器應(yīng)用的地步。 www.uplinux.com/download/doc/apache/ApacheManual/dns-caveats.html
www.uplinux.com/download/doc/apache/ApacheManual/mod/core.html
和用于封裝一組僅施用于特定虛擬主機(jī)的指令。任何在虛擬主機(jī)配置中可以使用的指令也同樣可以在這里使用。當(dāng)服務(wù)器接受了一個(gè)特定虛擬主機(jī)的文檔請(qǐng)求時(shí),它會(huì)使用封裝在配置段中的指令。地址可以是
虛擬主機(jī)的IP 地址;
虛擬主機(jī)IP 地址對(duì)應(yīng)的完整域名;
字符*,僅與NameVirtualHost *配合使用以匹配所有的IP 地址;或是
字符串_default_,與基于IP 的虛擬主機(jī)聯(lián)用以捕獲所有沒有匹配的IP 地址。
示例
ServerAdmin webmaster@host.foo.com
DocumentRoot /www/docs/host.foo.com
ServerName host.foo.com
ErrorLog logs/host.foo.com-error_log
TransferLog logs/host.foo.com-access_log
IPv6的地址必須放入方括號(hào)中指定,否則作為可選項(xiàng)的端口號(hào)將無法確定。一個(gè)IPv6的示例如下:
ServerAdmin webmaster@host.foo.com
DocumentRoot /www/docs/host.foo.com
ServerName host.foo.com
ErrorLog logs/host.foo.com-error_log
TransferLog logs/host.foo.com-access_log
每個(gè)虛擬主機(jī)必須對(duì)應(yīng)不同的IP 地址、端口號(hào)或是不同的主機(jī)名。在第一種情況下,服務(wù)器所在物理機(jī)器必須配置為可以為多個(gè)地址接受IP 包。(在機(jī)器沒有多個(gè)網(wǎng)絡(luò)硬件界面的情況下,如果您的操作系統(tǒng)支持,您可以使用ifconfig alias命令來達(dá)到這個(gè)目的。)。
當(dāng)使用基于IP 的虛擬主機(jī)時(shí),特殊的名稱_default_可以在沒有匹配上其它列出的虛擬主機(jī)的情況下作為匹配任何IP 地址的虛擬主機(jī)。在沒有進(jìn)行 _default_虛擬主機(jī)的設(shè)定時(shí),在沒有IP 與請(qǐng)求匹配的情況下,將使用“主服務(wù)器”(包括所有在虛擬主機(jī)配置段之外的配置)的配置。(但請(qǐng)注意:任何匹配NameVirtualHost 指令的IP 地址既不會(huì)使用"main" 服務(wù)器配置,也不會(huì)使用_default_虛擬主機(jī)的配置。參閱基于域名的虛擬主機(jī)文檔獲得更多詳情。) 您可以指定一個(gè):端口來改變匹配的端口。如果沒有指定,它將沿用主服務(wù)器中離它最近的那個(gè)Listen 語句指定的值。您也可以指定:*來匹配那個(gè)地址上的所有端口。(當(dāng)您使用_default_時(shí),這是推薦采用的方法。)
安全提示:參閱安全提示文檔獲得為什么當(dāng)您存儲(chǔ)
[url=javascript:;]日志[/url]
文件的目錄對(duì)于啟動(dòng)服務(wù)器以外的用戶來說是可寫的會(huì)危及服務(wù)器安全的詳細(xì)資料。
注意:的使用不會(huì)影響到Apache 偵聽的地址。您也許需要使用Listen 來確保Apache 偵聽著正確的地址。
本文有經(jīng)典論壇 劍氣凌人 收集整理
為調(diào)試程序,本機(jī)安裝iis 與apache ,無法同時(shí)使用80端口,現(xiàn)給出解決方法:
,方法一:
IIS5,多IP 下共存,IIS 為192.168.0.1,apache 為192.168.0.2 原文地址
c:Inetpub?minscrīpts
cscrīpt adsutil.vbs set w3svc/disablesocketpooling true
該命令反饋如下disablesocketpooling : (BOOLEAN) True
重啟IIS
Inetpub?minscrīpts>cscrīpt adsutil.vbs set w3svc/disablesocketpooling true
由于 DisableSocketPooling 在 IIS 6.0 元
[url=javascript:;]數(shù)據(jù)庫[/url]
架構(gòu) (MBSchema.xml) 中被定義為有效屬性,所以,您仍然可以使用 Adsutil.vbs 設(shè)置該屬性,但這種設(shè)置不起作用。IIS 6.0 中的功能是新增的核心級(jí)別驅(qū)動(dòng)程序 HTTP.sys 的一部分。要配置 HTTP.sys ,您必須使用 Httpcfg.exe
方法二:
IIS6,多IP 下共存,IIS 為192.168.0.1,apache 為192.168.0.2 原文地址
到2003的CD 下的 support/tools/Support.cab。解壓出httpcfg.exe 文件,COPY 到windows/system32/目錄下,用法自己看幫助
命令行
綁定到某IP : httpcfg set iplisten -i 192.168.0.1
即命令使用IIS 的只監(jiān)聽指定的IP 及端口
查看綁定: httpcfg query iplisten
刪除綁定: httpcfg delete iplisten -i 192.168.0.1
命令行
net stop Apache2
net stop iisadmin /y
net START Apache2
net START w3svc
保證iis 下的ip 設(shè)置為全局默認(rèn),Apache 中httpconf 設(shè)置listen 192.168.0.2:80,就應(yīng)該可以兩個(gè)服務(wù)同時(shí)運(yùn)行,相互不沖突了。
IIS 的訪問地址為http://192.168.0.1,Apache 訪問地址為http://192.168.0.2
方法三:
網(wǎng)上常用的單IP 共用80端口方法,不過不推薦,只是使用Apache 的代理,速度有影響將apache 設(shè)為使用80端口,IIS 使用其它端口,比如81,然后將apache 作為IIS 的代理。 在httpd.conf 里面,取消下面四行的注釋:
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_connect_module modules/mod_proxy_connect.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
然后建立一個(gè)虛擬主機(jī),將該域名的所有訪問轉(zhuǎn)向81端口。
ServerName iloves.vicp.net
ProxyPass /
localhost
ProxyPassReverse /
localhost
這樣,對(duì)外就可以只需要一個(gè)端口,即可同時(shí)使用apache 和IIS 的功能了
,類推,使用第二種方法,你可以在IIS 上配置PHP4,Apache2中配置PHP5,只需要IIS 中安裝PHP4,把
[url=javascript:;]php[/url]
.ini 復(fù)制到windows目錄即可,這個(gè)就不用說了吧,Apache2中,只要把PHP5的php.ini 放在PHP5安裝目錄里面就行了
配置Apache 以支持PHP5:
LoadModule php5_module "D:/PHPServer/PHP5/php5apache2.dll"
AddType application/x-httpd-php .php
DirectoryIndex index.html index.php
PHPIniDir "D:/PHPServer/PHP5"
其中最重要的一條就是 PHPIniDir ,用來指明php.ini 文件所在位置,即PHP5的安裝目錄,注意所有目錄的應(yīng)該改為D: /PHPServer/PHP5這種格式,而非D:PHPServerPHP5,IIS 的訪問地址為http://192.168.0.1, Apache 訪問地址為http://192.168.0.2