apache+tomcat整合web项目
作者:viki
前端时间同学叫我帮他发布多个web项目,服务器是windows 2003。他们的老大要求环境必须用apache+tomcat整合发布。好吧,前端时间我是挺有空的,就帮帮吧…谁知道,一搞就好几天啊。
windows版本的jdk没有绿色版,确实是一个比较吭的地方:
唯一的缺点是不能跟tomcat的虚拟目录一起使用(则Context中的path字段),只能使用tomcat的虚拟主机
1、如果使用mod_jk整合,就会使用tomcat的ajp协议的方式,所以tomcat的http connector就没必要开着了,直接注释掉就好了
- <!--
- <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
- -->
- <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" URIEncoding="UTF-8" address=”localhost” />
注意:这里tomcat6跟tomcat7有一个区别,tomcat7的protocol可以使用nio的protocol:“org.apache.coyote.ajp.AjpNioProtocol”。tomcat6不支持ajp协议的nio方式。
- <Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">
- <Context path="" docBase="E:\\a" />
- </Host>
启动tomcat,如果启动成功。并通过访问地址“http://127.0.0.1:8080/”如果访问成功,则表示配置正确。(好吧,开玩笑的。^_^。刚才配置里面已经关闭了http协议连接,所以通过以上地址是不可能访问成功的。如果能访问则表示http connector没有成功关闭)
- workers.tomcat_home=D:\apache-tomcat-6.0.35
- workers.java_home=C:\Program Files\Java\jdk1.6.0_35
- worker.list=a_worker
- worker.a_worker.port=8009
- worker.a_worker.host=localhost
- worker.a_worker.type=ajp13
- worker.a_worker.socket_keepalive=True
如果有多个tomcat,可以在worker.list后面指定多个,只需用,隔开即可。
- # 虚拟主机配置
- NameVirtualHost *:80
- # 加载模块
- LoadModule jk_module modules/mod_jk.so
- # 加载worker文件
- JkWorkersFile conf/workers.properties
- # 导入虚拟主机文件
- Include conf/vhost/www.a.com.conf