当前位置: > Linux服务器 > apache >

win2003中apache2整合IIS6与tomcat5的方法

时间:2014-06-28 01:33来源:linux.it.net.cn 作者:IT网

win2003中apache2整合IIS6与tomcat5,实现在IIS6的服务器上运行java程序。

最开始是用iis直接连接tomcat,找遍了网上所有的资料,可是死活也连不通,或许是iis的封闭吧,看来tomcat与iis远没有成为朋友。 
  
于是只好另辟蹊径,用apache监听80来做请求转发了,请求到iis的站点就转到相应目录,请求到tomcat下的站点就转发到tomcat下,于是开始到处找这方面的资料,终于经过反复试验,右克服请求servlet出错的困难,现在终于可以继续做自己的网站了。 
参考文档: 
1.http://WEBlife.blogbus.com/s1659/index.html 
2.http://wiki.osportfolio.org/confluence/display/Technical/Apache+Tomcat+mod_jk+Integration 
第一篇文档基本解决了所有的问题,第二篇文档解决了请求servlet发生找不到目标的问题 
   
下面就从零开始,一步步配置三个服务器,让他们协调工作。 
   
1.下载安装apache2 
下载apache2.0.55 for windows 
在官方网站上我怎么也找不到,奇怪。下载到本地后双击就可以安装了,安装完成后应该在系统托盘中看到一个小图标了,是个羽毛加绿色播放箭头的图标,这表示正确安装了,如果不能正确安装,请确认80端口没有被别的服务器占有。
 
2.下载安装tomcat5 
Tomcat还是到官方网站下载,选择5.5.17中core:zip,我比较习惯用这个压缩包,解压后设置环境变量就可以用了。在安装路径的bin里面运行startup.bat就可以启动tomcat了。

3.安装IIS6.0 
将win2003的安装盘插入光驱,在添加或删除程序中选择“添加/删除windows组件”在“windows组件向导”中选择“应用程序服务器”并打上勾,按向导提示下一步进行,就可以安装了。IIS6.0安装后并不能正常启动,因为默认端口80被apache已经占了。双击打开“管理工具/internet信息服务(IIS)管理器”,在“默认网站(停止)”上右击选择“属性”,在“网站”选项卡中修改“TCP端口”的80为88或者其他端口,确定。选中“默认网站(停止)”然后单击工具栏中的播放图标,就可以启动IIS了,正常启动后“停止”字样就消失了。

4.测试3个服务器 
修改Apache安装目录/htdocs中的index.html.en改名为index.html,在浏览器输入http://localhost回车如果看到apache的欢迎界面,说明apache正在运行。在浏览器中输入http://localhost:8080回车如果看到tomcat的欢迎界面,这表示tomcat运行正常。在浏览器中输入http://localhost:88回车如果看到“建设中”这样的提示,表示iis正在运行。
 
5.配置apache与tomcat的连接 
第一步: 在http://www.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/win32/jk-1.2.6 
下载mod_jk_1.2.6_2.0.50.dll文件,将其改名为mod_jk.so后放到apache2/modules目录中。 
第二步: 打开记事本,输入下列语句,以workers.properties为文件名保存在tomcat安装目录/conf目录下: 
 

复制代码代码如下:
workers.tomcat_home=C:\Program Files\jakarta-tomcat-5.0.28 
workers.java_home=C:\Program Files\Java\jdk1.5.0_06 
ps=\ 
worker.list=ajp13 
worker.ajp13.port=8009 
worker.ajp13.host=localhost 
worker.ajp13.type=ajp13 
worker.ajp13.lbfactor=1

第三步:用记事本打开apache/conf/httpd.conf文件末尾,添加下面一段: 
 

复制代码代码如下:
LoadModule jk_module modules/mod_jk.so 
JkWorkersFile "D:\Program Files\jakarta-tomcat-5.0.28\conf\workers.properties" 
<VirtualHost *:80> 
ServerAdmin rabbit69@openria.com 
ServerName localhost 
DirectoryIndex index.html index.htm index.jsp 
JkMount /* ajp13 
JkAutoAlias "C:\Program Files\jakarta-tomcat-5.0.28\webapps" 
<Directory "C:\Program Files\jakarta-tomcat-5.0.28\webapps"> 
Options Indexes FollowSymLinks 
allow from all 
</Directory> 
</VirtualHost> 
 

保存,停止apache服务,在启动,就可以将新配置应用了。

6.测试apache与tomcat的连接 
在服务器中输入http://localhost回车如果看见的是tomcat的欢迎界面,就表示apache和tomcat整合成功了,localhost后面加上jsp-examples目录或者servlet-examples目录就可以看到下面的例子,为了让servlet运行,我可是费了半天劲,修改这个httpd.conf文件。

7.配置apache与IIS6的连接 
第一步:修改httpd.conf文件,启用proxy模块 
将文件中的LoadModule proxy_module modules/mod_proxy.so和LoadModule proxy_http_module modules/mod_proxy_http.so这两句的“#”去掉就可以了。 
第二步:增加IIS的虚拟主机 
httpd.conf文件末尾加入以下代码:
 

复制代码代码如下:
<VirtualHost *:80> 
ServerAdmin rabbit69@openria.cn 
ServerName localhost 
DocumentRoot "C:/Inetpub/wwwroot" 
DirectoryIndex index.html index.htm index.asp 
Alias /test "C:/Inetpub/wwwroot" 
<Directory "C:/Inetpub/wwwroot"> 
Options MultiViews 
AllowOverride None 
Order allow,deny 
Allow from all 
</Directory> 
ProxyPass / http://127.0.0.1:88/ 
ProxyPassReverse / http://127.0.0.1:88 
</VirtualHost> 
 

保存,重启apache进行测试。

8.测试apache与IIS的连接 
测试页hello.asp: 
 

复制代码代码如下:
<HTML> 
<HEAD> 
<TITLE>Hello World Sample</TITLE> 
</HEAD> 
<BODY> 
<% Response.Write "Hello World" %> 
</BODY> 
</HTML>   
 

放到C:/Inetpub/wwwroot下面,在浏览器中访问http://localhost/test/hello.asp回车如果出现“hello world”字样就表示配置成功了。
如果页面出现空白,在Internet信息服务(IIS)管理器中的web服务扩展里将“active server page”允许,然后清空缓存,刷新页面即可。 

(责任编辑:IT)
------分隔线----------------------------