查看完整版本: [-- 在Windows Server下集成Apache、Tomcat和IIS 共享80端口 --]

-> 电脑技术 -> 在Windows Server下集成Apache、Tomcat和IIS 共享80端口 [打印本页] 登录 -> 注册 -> 回复主题 -> 发表主题

命运天空 2010-07-23 10:38

在Windows Server下集成Apache、Tomcat和IIS 共享80端口

我在《Perl、PHP、ASP、JSP技术比较》一文中曾经对四种流行的网站设计语言进行了评测和对比,常言道鱼与熊掌皆我所欲,两者不可兼得,那么有没有一种方法,可以做到鱼与熊掌兼得,同时支持这四种语言的Web服务器呢,今天我就介绍一下基于Windows Server 2003的同时在一个80端口支持这四种语言的方法。
  我们的策略是:安装三个Web服务器,Apache负责支持perl和php,IIS负责支持asp,Tomcat负责支持jsp,通过Apache的proxy_module将三个服务器集成到一个80端口。


  安装的方法是,先安装IIS、Apache和Tomcat,配置Apache使用80端口,Tomcat使用8080端口,IIS使用8081端口。


  接着在Apache中修改httpd.conf文件,启用proxy_module和proxy_http_module,修改的内容是:


    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>中设置各个服务所在网站的目录权限,这样php目录即可跑apache,支持php和perl,而asp目录则跑IIS,jsp目录跑Tomcat,全部都可共享80端口,一个端口同时支持Perl、PHP、ASP、JSP四种语言,兼容性很好,性能也不错。


  另外,将上述命令放在<VirtualHost>中,可以实现不同的虚拟主机使用不同的Web服务器,同一个端口同样可以跑多个Web Server,这对于那些出售虚拟主机的人来说很有用,如果你想在一台Windows服务器上配置不同的Web服务的话也可以尝试一下。


  以上配置在Windows Server 2003、Apache 2.2.6、Tomcat 6.0.16、IIS 6.0的环境下调试通过,运行正常。



查看完整版本: [-- 在Windows Server下集成Apache、Tomcat和IIS 共享80端口 --] [-- top --]


Powered by phpwind v8.7 Code ©2003-2011 phpwind
Time 0.021919 second(s),query:1 Gzip disabled