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=controller
worker.controller.port=8009
worker.controller.host=192.168.1.123
worker.controller.type=ajp13
worker.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 *:80

Alias /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篇写得非常好

原文地址:https://www.cnblogs.com/andysd/p/3887146.html