Win2003中apache2分别整合tomcat5和iis6的终极教程

为了能在已经存在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

  在http://down.ddvip.com/view/1150008854418.html中下载apache2.0.55 for windows

  在官方网站上我怎么也找不到,奇怪。下载到本地后双击就可以安装了,安装完成后应该在系统托盘中看到一个小图标了,是个羽毛加绿色播放箭头的图标,这表示正确安装了,如果不能正确安装,请确认80端口没有被别的服务器占有。

  2.下载安装tomcat5

  Tomcat还是到官方网站下载,地址是:http://down.ddvip.com/result.php?name=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.28workers.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.测试apaceh与IIS的连接

  写一个asp页面,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”允许,然后清空缓存,刷新页面应该就可以看见hello world了。

  具体参数的含义就不多说了,上面的参考文档有介绍。

  后记:

  一直以为这个整合问题解决不了了,但是我还是不甘心,为什么别人能调通,我就调不通,苦脑啊,今天终于解决了,昨天晚上还弄到1点多,所有的辛苦没有白下,写下这个,做个纪念,也希望能对碰到此问题的网友有帮助,没有互联网就没有大家的成长。

 

 

 

 

 

 

 

 

 

 

workers.properties文件

workers.tomcat_home=d:/Tomcat 5.0
workers.java_home=d:/Java/jdk1.6.0
ps=/
worker.list=ajp13 #模块版本
worker.ajp13.port=8009 #工作端口,若没占用则不用修改
worker.ajp13.host=11.11.11.11 #本机,若上面的Apache主机不为localhost,作相应修改
worker.ajp13.type=ajp13 #类型
worker.ajp13.lbfactor=1 #代理数,不用修改

 

 

httpd.conf文件

#设置Apache与Tomcat之间的连接,让Apache遇到jsp文件时,在后台将其交由Tomcat去处理
LoadModule jk_module modules/mod_jk.so
#此处mod_jk的文件为你下载的文件
JkWorkersFile "conf/workers.properties"
#指定tomcat监听配置文件地址
JkLogFile "logs/mod_jk2.log"
#指定日志存放位置
JkLogLevel info

#设置虚拟主机
<VirtualHost www.xxx.com>
 ServerAdmin xxx@163.com管理员email
 DocumentRoot d:/www/xxx/ROOT
 #您的站点项目所在路径,应与tomcat中的目录设置相同
 ServerName www.xxx.com

 DirectoryIndex index.html
 ErrorLog logs/shsc-error_log.txt
 CustomLog logs/shsc-access_log.txt common
 JkMount /servlet/* ajp13
 #让Apache支持对servlet传送,用以Tomcat解析
 JkMount /*.jsp ajp13
 #让Apache支持对jsp传送,用以Tomcat解析
 JkMount /*.htm ajp13
 #让Apache支持对.do传送,用以Tomcat解析
</VirtualHost>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值