首页 > 代码库 > Apache + Tomcat

Apache + Tomcat

这个是非集群模式,以后可能还会写集群的情况

今天折腾了好久才把这个跑起来,静态资源归Apache加载不用请求Tomcat了,这样以后就方便做集群了,用的是JK的方式,据说还有其他的方式,这个没有详细去研究,今天就先把自己的过程说一遍方便以后查看。

首先需要一个mod_jk-1.2.31-httpd-2.2.3.so文件 因为我的Apache是2.2的版本,所以就用的httpd-2.2.3的版本,这个文件就是Apache和Tomcat的粘合剂,把这个文件放在Apache2.2/modules的目录下。这里说下配置吧,分部来操作,我这里讲的是配置文件分开配置的,这样做的好处就是无侵入性:

1.首先在Apache2.2/conf文件夹中创建workers.properties,内容:

worker.list=controllerworker.controller.port=8009worker.controller.host=192.168.1.123worker.controller.type=ajp13worker.controller.lbfactor=1

2.首先在Apache2.2/conf文件夹中创建mod_JK.conf,内容:

     JkMount   /*  controller     JkUnMount /*.html controller     JkUnMount /*.htm controller     JkUnMount /*.vga controller     JkUnMount /*.gif controller     JkUnMount /*.swf controller     JkUnMount /*.bmp controller     JkUnMount /*.png controller     JkUnMount /*.wma controller     JkUnMount /*.wmv controller     JkUnMount /*.jpg controller     JkUnMount /*.js  controller     JkUnMount /*.css controller

3.找到Apache2.2/conf/extra/httpd-vhosts.conf文件,修改后的内容:

#加载JK模块,指定.so文件路径。 LoadModule jk_module modules/mod_jk.so#加载指定workers.properties路径。 JkWorkersFile conf/workers.properties NameVirtualHost *:80Alias /web "E:/Apache2.2/htdocs/web/"<VirtualHost *:80>    ServerAdmin mail@qq.com    DocumentRoot "E:/Apache2.2/htdocs/web/"    ServerName 127.0.0.1/web	<Directory />			Options FollowSymLinks			AllowOverride None	</Directory>	<Directory "E:/Apache2.2/htdocs/web/">			Options Indexes FollowSymLinks MultiViews			AllowOverride None			Order allow,deny			allow from all	</Directory>    ServerAlias localhost/web    Include conf/mod_JK.conf</VirtualHost>

4.找到Tomcat的配置文件server.xml(这个步骤不是必须的,取决于第一步的配置worker.controller.port=8009)

<!-- Define an AJP 1.3 Connector on port 8009 -->    <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />

查看一下这两个端口是否一致。不一致需要修改成一致

经过以上4个步骤我的项目算是可以正常访问了。但是我仍然还是有很多疑问,自己目前解决不了

参考:

http://ixdba.blog.51cto.com/2895551/564060/

http://www.cnblogs.com/itech/archive/2009/08/18/1548723.html

http://lists.centos.org/pipermail/centos/2012-April/125283.html

这3篇写得非常好