您的位置:首页 > 运维架构 > Tomcat

Apache和Tomcat整合

2017-06-06 17:26 316 查看
最近公司要将Apache和Tomcat整合,在整合过程中碰到许多问题拿出来与大家分享一下。


首先为什么要将Apache和Tomcat整合呢:

Apache和Tomcat都可以作为独立的web服务器来运行,不过Apache只支持静态网页,例如jsp之类的动态网页无法支持。
Tomcat是java服务器,他是一个servlet容器,它支持动态网页,但就静态网页而言,apache的解释能力比tomcat快而且稳定。
所以一个现实的网站使用一个Apache作为Web服务器,为网站的静态页面请求提供服务;并使用Tomcat服务器作为一个Servlet/JSP插件,显示网站的动态页面;


然后Apache和Tomcat安装:

apache和tomcat的安装网上有很多在这里我就不多说了,引用一个 大大 写的文章

http://www.cnblogs.com/leslies2/archive/2012/07/23/2603617.html

最后整合Apache和Tomcat:

在安装好Tomcat和Apache后只需要三步就可以完成两者的整合
1.下载对应版本的jk,并放入.\Apache24\modules下(Apache24为安装的文件夹名)


地址:

http://archive.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/windows/

2.修改httpd.conf (位置:\Apache24\conf\httpd.conf)
添加以下内容:
载入mod_jk模块,注意模块文件的路径
LoadModule jk_module modules/mod_jk.so
# 声明workers.properties文件的位置
JkWorkersFile  E:/Apache24/conf/workers.properties
# 声明mod_jk的日志文件位置
JkLogFile "E:/java/apache-tomcat-7.0.77/logs/mod_jk2.log"
# 声明mod_jk的日志级别(可选)
JkLogLevel info
# 声明mod_jk的日志的时间戳格式(可选)
JkLogStampFormat "[%a %b %d %H:%M:%S %Y]"
# 将/*.action和/*.jsp类型的请求都分配给Tomcat,其余类型的有Apache Http Server自己处理
# 注意JkMount后面的ajp13即对应worker.properties文件中worker.list里的worker的名称
JkMount /servlet/* ajp13
JkMount /*.jsp ajp13
JkMount /*.do ajp13
3.编写workers.properties  存放位置:
让 mod_jk 模块感知 Tomcat
workers.tomcat_home=E:\java\apache-tomcat-7.0.77
#让 mod_jk 模块感知 jre
workers.java_home=E:\java\jdk1.7.0_07\jre
#指定文件路径分割符
ps=\
#工作端口,此端口应该与server.xml中Connector元素的 AJP/1.3 协议所使用的端口相匹配
worker.list=ajp13
worker.ajp13.port=8009
#Tomcat服务器的地址
worker.ajp13.host=localhost
#类型
worker.ajp13.type=ajp13
#负载平衡因数
worker.ajp13.lbfactor=1


如果添加配置文件后apache无法启动可以去安装目录下的logs文件夹中查看error.log文件查看报错的具体地方。(本人在整合中报错的原因主要是mod_jk版本不匹配,上面给出的网址是我找了好久版本最全的)

本人一IT初学者菜鸟一个,技术和措词方面有很多不足,希望大家海涵。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: