配置apache2和Tomcat的连接真是累死我了,花了整整两个多小时,试用了数个版本的连接器才算成功.
下面是网上down下的一段配置文档,虽然最后在启动tomcat的时候还会抱一段
ServerLifecycleListener: createMBeans: MBeanException
java.lang.Exception: ManagedBean is not found with Ajp13Connector
at org.apache.catalina.mbeans.MBeanUtils.createMBean(MBeanUtils.java:227)
at org.apache.catalina.mbeans.ServerLifecycleListener.createMBeans(ServerLifecycleListener.java:402)
at org.apache.catalina.mbeans.ServerLifecycleListener.createMBeans(ServerLifecycleListener.java:854)
at org.apache.catalina.mbeans.ServerLifecycleListener.createMBeans(ServerLifecycleListener.java:828)
at org.apache.catalina.mbeans.ServerLifecycleListener.createMBeans(ServerLifecycleListener.java:372)
at org.apache.catalina.mbeans.ServerLifecycleListener.lifecycleEvent(ServerLifecycleListener.java:226)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:166)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:2183)
at org.apache.catalina.startup.Catalina.start(Catalina.java:512)
at org.apache.catalina.startup.Catalina.execute(Catalina.java:400)
at org.apache.catalina.startup.Catalina.process(Catalina.java:180)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:203)
的错误,但总算无伤大雅,能够成功连接了,忽忽!!!有时间再回来继续研究
下面是关键配置部份!
1、将mod_jk2.so拷贝到Apache的Modules目录下。
2、在Apache2目录下的conf目录下打开httpd.conf文件,后面加上:
LoadModule jk2_module modules/mod_jk2.so
<LocationMatch "/*.jsp">
JkUriSet worker ajp13:localhost:8009
</LocationMatch>
<LocationMatch "/servlet/*">
JkUriSet worker ajp13:localhost:8009
</LocationMatch>
这里是让apache加载mod_jk2.so模块文件,指明JSP文件由ajp13应用接口来处理,使用本机的8009端口,必要
。后面一部份是让servlet目录下所有文件都由ajp13处理,可以不要。
3、在Apache2目录下的conf目录下新建workers2.properties文件,添加内容:
# Define the communication channel
[channel.socket:localhost:8009]
info=Ajp13 forwarding over socket
tomcatId=localhost:8009
# Map the Tomcat examples webapp to the Web server uri space
[uri:/examples/*]
info=Map the whole webapp
[uri:/manager/*]
info=Map the manager webapper webapp
上面是指明tomcat的应用接口,必要。下面是指明tomcat的应用程序服务,可以不要。
4、Apache配置告一段落,现在我们配置Tomcat。打开tomcat目录下的conf目录。新建workers.properties文件
,内容为:
workers.tomcat_home=E:/Apache Group/Tomcat 4.1 //让mod_jk模块知道Tomcat
workers.java_home=E:/j2sdk1.4.2_08 //让mod_jk模块知道j2sdk
ps=/
worker.list=ajp13 //模块版本,现有ajp14了,不要修改
worker.ajp13.port=8009 //工作端口,若没占用则不用修改
worker.ajp13.host=localhost //本机,若上面的Apache主机不为localhost,作相应修改
worker.ajp13.type=ajp13 //类型
worker.ajp13.lbfactor=1 //代理数,不用修改
5、tomcat的其他配置:
要实现java-bean的调用,可在tomcat服务器的root(根)目录下的WEB-INF文件夹中创建classes文件夹,将
java源程序文件放在这里,源文件里必须有包名,如:package mytest。
编译后会在当前目录下自动创建一个目录为mytest,里面会有相应的class文件。然后可以在浏览器里输入jsp
文件位置,即可运行。
创建虚拟目录:打开Tomcat下conf目录下的server.xml文件,在</Host>前加入:
<Context path="/webapp" docBase="G:/webapp" debug="0" reloadable="true" > </Context>
其中:path后面为虚拟目录名称,docBase后面为该目录实际位置,可以是url,reloadable指自动装载,当该
目录下的classes文件夹内容有变动后,不必重新启动Tomcat即可使用。
6、重新启动tomcat和apache服务,看看效果!