1.前言:
引用:http://www.cnblogs.com/liaokailin/p/3963603.html
引用的博客里面有比较详细的说明,并且结合图片,非常生动;
我这里只做简单的说明和整合步骤
2.为什么要整合Apache和Tomcat
Apache和Tomcat都是web服务器,但Apache不能解释java,而Tomcat可以,Tomcat是Apache的一个扩展
原因主要有两个:
2.1.分发处理,减轻服务器的负担
静态的html交给Apache处理,而java动态的部分则由Tomcat来处理
2.2. 安全性,不能直接访问Tomcat,保护资源
3.整合所需要的软件:
Apache,Tomcat,JDK(因为Tomcat要使用JDK),mod_jk.so(把Apache和Tomcat关联起来的插件)
3.1.mod_jk.so 百度或谷歌搜索一下,然后就有的下载的了
下载后放到C:\Program Files (x86)\Apache Software Foundation\Apache2.2\modules目录下
3.2.下载JDK,然后安装和配置好环境变量
这里就不详说了,可以参考:http://jingyan.baidu.com/article/bea41d435bc695b4c41be648.html
3.3.Tomcat,这里推荐使用exe版本的
一直下一步,在提示你选择JDK或JRE的时候选择你所安装的路径就可以了
还有Tomcat管理的账号和密码你也可以输入一下。
3.4.Apache(关键)
到官网或别的地方下载Apache服务器,是一个exe文件
安装过程一直下一步就可以,当然也可以参考引用中的内容
安装完后,打开 C:\Program Files (x86)\Apache Software Foundation\Apache2.2\conf(根据自己的安装目录)下的httpd.conf
文件,在最后加上这一句 Include conf/mod_jk.conf(意思是引用mod_jk的配置文件,也可以直接配置在httpd.conf,不过不推荐)
然后创建mod_jk.conf文件(也要放在apache的conf目录下,因为上面的配置是 Include conf/mod_jk.conf)
在文件中增加一下内容:
LoadModule jk_module modules/mod_jk.so //载入mod_jk.so
JKWorkersFile conf/workers.properties //另一个配置文件,一会要手动创建,放在conf目录下
JkLogFile logs/mod_jk.log //日志文件
<VirtualHost *>
DirectoryIndex index.html index.htm index.jsp index.action
ErrorLog logs/error_log.txt
CustomLog logs/access_log.txt common
JkMount /*WEB-INF ajp13 //这里要注意 /*WEB-INF 要根据自己的实际情况来配置,
JkMount /*.action ajp13 //这里几个都只是例子而已
JkMount /servlet/* ajp13 //如你访问的路径是 localhost/TestProject/Servlet
JkMount /* ajp13 //就该配置成 JkMount /TestProject/* ajp13
JkMount /*.jsp ajp13
JkMount /*.do ajp13
JkMount /*.action ajp13
JkMount /*.json ajp13
</VirtualHost>
----------------------------------------------------------------------------------
然后新建 workers.properties文件
内容如下:
workers.tomcat_home=C:\Program Files\Apache Software Foundation\Tomcat 8.0 //tomcat的安装路径
ps=/
worker.list=ajp13
worker.ajp13.port=8009
worker.ajp13.host=localhost
worker.ajp13.type=ajp13
4.测试
4.1.先重启apache和Tomcat
在浏览器输入localhost,
如果出现 It Works!就表示apache是没问题
4.2.用eclipse随便写一个servlet,然后打包成war格式
将war文件解压缩,把里面所有的东西,放入tomcat的webapps目录下
先直接通过tomcat来访问,localhost:8080/你servlet的访问路径
如果ok,再用localhost/你的servlet的访问路径 来试一下
最后记得把8080端口禁用掉,这样以后要访问tomcat下的内容,就只能通过apache转发了
好了,到这里就整合好了,当然如果有问题,记得去看log