月光博客

青青子衿, 悠悠我心, 但为君故, 沉吟至今

« PayPal帐号的冻结和解冻WP-PostViews的静态JavaScript版更新 »

在Windows Server下集成Apache、Tomcat和IIS

  我在《Perl、PHP、ASP、JSP技术比较》一文中曾经对四种流行的网站设计语言进行了评测和对比,常言道鱼与熊掌皆我所欲,两者不可兼得,那么有没有一种方法,可以做到鱼与熊掌兼得,同时支持这四种语言的Web服务器呢,今天我就介绍一下基于Windows Server 2003的同时在一个80端口支持这四种语言的方法。

  我们的策略是:安装三个Web服务器,Apache负责支持perl和php,IIS负责支持asp,Tomcat负责支持jsp,通过Apache的proxy_module将三个服务器集成到一个80端口。

  安装的方法是,先安装IIS、ApacheTomcat,配置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的环境下调试通过,运行正常。



原创文章如转载,请注明:转载自月光博客 [ http://www.williamlong.info/ ]

本文链接地址:http://www.williamlong.info/archives/1308.html
  • 文章排行:
  • 10.炎藤
  • http://www.dotku.net
  • “同一个目录可以同时运行Perl、PHP、ASP、JSP等语言”
    我也想知道这个

    不同目录的话似乎不太难~
    不知道是否可以利用编辑.htaccess来实现--~?

    不过这篇文章不错
    收藏了
  • 2008-4-16 1:20:09

发表评论:

◎声明:转载本文时请务必以超链接形式标明文章原始出处和作者,本文严禁商业网站转载。

订阅博客

  • 订阅我的博客:订阅我的博客
  • 通过Google订阅本站
  • 通过鲜果订阅本站
  • 通过抓虾订阅本站
  • 通过电子邮件订阅本站

站内搜索


热文排行

最新评论

最近发表

本站采用创作共用版权协议, 要求署名、非商业用途和保持一致. 转载本站内容必须也遵循“署名-非商业用途-保持一致”的创作共用协议.

This site is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License.