在Windows Server下集成Apache、Tomcat和IIS
我在《Perl、PHP、ASP、JSP技術(shù)比較》一文中曾經(jīng)對(duì)四種流行的網(wǎng)站設(shè)計(jì)語(yǔ)言進(jìn)行了評(píng)測(cè)和對(duì)比,常言道魚(yú)與熊掌皆我所欲,兩者不可兼得,那么有沒(méi)有一種方法,可以做到魚(yú)與熊掌兼得,同時(shí)支持這四種語(yǔ)言的Web服務(wù)器呢,今天我就介紹一下基于Windows Server 2003的同時(shí)在一個(gè)80端口支持這四種語(yǔ)言的方法。
我們的策略是:安裝三個(gè)Web服務(wù)器,Apache負(fù)責(zé)支持perl和php,IIS負(fù)責(zé)支持asp,Tomcat負(fù)責(zé)支持jsp,通過(guò)Apache的proxy_module將三個(gè)服務(wù)器集成到一個(gè)80端口。
安裝的方法是,先安裝IIS、Apache和Tomcat,配置Apache使用80端口,Tomcat使用8080端口,IIS使用8081端口。
接著在Apache中修改httpd.conf文件,啟用proxy_module和proxy_http_module,修改的內(nèi)容是:
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so
然后在Apache的httpd.conf文件中增加如下幾行:
ProxyPass /php !
ProxyPass /asp/ http://localhost:8081/
ProxyPassReverse /asp/ http://localhost:8081/
ProxyPass /jsp/ http://localhost:8080/
ProxyPassReverse /jsp/ http://localhost:8080/
然后在<Directory>中設(shè)置各個(gè)服務(wù)所在網(wǎng)站的目錄權(quán)限,這樣php目錄即可跑apache,支持php和perl,而asp目錄則跑IIS,jsp目錄跑Tomcat,全部都可共享80端口,一個(gè)端口同時(shí)支持Perl、PHP、ASP、JSP四種語(yǔ)言,兼容性很好,性能也不錯(cuò)。
另外,將上述命令放在<VirtualHost>中,可以實(shí)現(xiàn)不同的虛擬主機(jī)使用不同的Web服務(wù)器,同一個(gè)端口同樣可以跑多個(gè)Web Server,這對(duì)于那些出售虛擬主機(jī)的人來(lái)說(shuō)很有用,如果你想在一臺(tái)Windows服務(wù)器上配置不同的Web服務(wù)的話也可以嘗試一下。
以上配置在Windows Server 2003、Apache 2.2.6、Tomcat 6.0.16、IIS 6.0的環(huán)境下調(diào)試通過(guò),運(yùn)行正常。
來(lái)源:月光博客