Win2003下整合apache2.2+tomcat5.5+IIS

ChenReal

进阶整合:Apache + Tomcat + IIS 实现全类型Web服务支持

继 Apache+Tomcat 整合实现 JSP、PHP、HTML 支持后,进一步整合 IIS 以兼容 ASP/ASP.NET,打造全功能 Web 服务器。

1、安装并配置IIS

  • 安装IIS后,默认站点根目录保留为 C:\Inetpub\wwwroot(无需修改);
  • 调整IIS端口:因Apache占用80端口,将IIS默认端口改为81;
  • 启用ASP执行权限:在IIS“服务器扩展”中开启ASP允许执行。

2、配置Apache整合IIS与Tomcat

编辑Apache的httpd.conf配置文件,完成模块启用与虚拟主机配置,实现IIS(处理ASP/ASP.NET)和Tomcat(处理JSP)的分工协作:

步骤1:启用代理模块

取消以下模块前的注释,开启HTTP代理功能:

LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so
步骤2:配置虚拟主机(文件末尾添加)

通过虚拟主机区分不同域名的请求转发,分别指向IIS和Tomcat:

# 开启虚拟主机功能
NameVirtualHost 127.0.0.1

# 虚拟主机1:指向IIS(处理ASP/ASP.NET)
<VirtualHost 127.0.0.1>
  ProxyPreserveHost On
  ServerAdmin realme@chenreal.com
  ServerName www.chenreal.com
  DocumentRoot "C:\Inetpub\wwwroot"
  DirectoryIndex index.html index.htm index.asp
  # 将请求转发至IIS的81端口
  ProxyPass / http://127.0.0.1:81/
  ProxyPassReverse / http://127.0.0.1:81/
</VirtualHost>

# 虚拟主机2:指向Tomcat(处理JSP)
<VirtualHost 127.0.0.1>
  ProxyPreserveHost On
  ServerAdmin realme@chenreal.com
  ServerName www.realme.com
  DocumentRoot "C:\Server\www"
  DirectoryIndex index.html index.htm index.jsp
  # 排除images目录转发,直接由Apache处理
  ProxyPass /images/ !
  # 将请求转发至Tomcat的AJP端口(8009)
  ProxyPass / ajp://127.0.0.1:8009/
  ProxyPassReverse / ajp://127.0.0.1:8009/
</VirtualHost>
步骤3:域名解析配置

为使 www.chenreal.comwww.realme.com 指向本地(127.0.0.1),修改系统hosts文件:

  • 路径:C:\WINDOWS\system32\drivers\etc\hosts
  • 添加两行配置:
    127.0.0.1 www.chenreal.com
    127.0.0.1 www.realme.com
    

配置完成后,启动Apache、Tomcat、IIS服务:

  • 访问 www.chenreal.com:请求转发至IIS(81端口),处理ASP/ASP.NET;
  • 访问 www.realme.com:请求转发至Tomcat(8009端口),处理JSP;
  • 静态资源(如/images/)由Apache直接解析,最大化利用各服务器优势。