apache和tomcat整合

apache和tomcat整合

作者:网络守夜人
首先说下环境和需求
操作系统为ubuntu6.06 server (已经出8.04 LTS了,不过还没摸熟,暂时还用6.06),已经安装jdk并设置好环境变量,apache和tomcat也都已经运行无问题(apache为apt-get install 所得)

思路:一个jsp为的网站,有很多的jsp页面和静态页面构成,jsp不用说当然是交由tomcat处理,但tomcat

本身局限导致它处理静态页面处理速度会很慢,而apache本身处理静态页面会很快,所以思路就是把jsp

页面甩给tomcat去处理,而静态页面则留给apache本身处理

配置流程
1.apt-get install libapache2-mod-jk(安装apache的jk模块,这就是ubuntu比较不错的地方,方便),然后进入/etc/apache2/mods-enabled#目录,ls查看下是否存在jk.load ,如果有了的话证明模块安装成功。

2.在/etc/apache/#目录下编辑workers.properties文件,内容如下
workers.tomcat_home=(你tomcat的家目录)
workers.apache_log=(设定将日志记录在什么地方)
workers.java_home=(jdk目录)
ps=/
worker.list=worker1

(下面的参数不要动,复制即可)
worker.worker1.type=ajp13
worker.worker1.host=localhost
worker.worker1.port=8009
worker.worker1.lbfactor=50
worker.worker1.cachesize=10
worker.worker1.cache_timeout=600
worker.worker1.socket_keepalive=1
Worker.worker1.socket_timeout=300

3.在apache主配置文件的末尾加上一下内容
# set workers.properties of mod_jk
JkWorkersFile /etc/apache2/workers.properties(workers.properties目录)

# Where to put jk logs
JkLogFile /var/log/apache2/mod_jk.log(jk日志)

# having the permissions to write the runtime status log
JkShmFile /var/log/apache2/jk-runtime-status

# Set the jk log level [debug/error/info]
JkLogLevel info

# Select the log format
JkLogStampFormat "[%a %b %d %H:%M:%S %Y]"(日志生成格式)

# JkOptions indicate to send SSL KEY SIZE,
JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories

# JkRequestLogFormat set the request format
JkRequestLogFormat "%w %V %T"

# send servlet and jsp requests to tomcat with ajp13 protocol

JkMount /*.jsp worker1 【表示把所有后缀为jsp的文件都交给worker1(即tomcat)处理】

举一反三,别的后缀怎么配应该也知道了吧

重新启动apache,tomcat,至此整合初步结束,当然根据需要后续还有很多优化过程,慢慢来呦。
学习了!
我也写了篇,是CentOS5和RHEL5下的关于整合apache和tomcat5的,有兴趣的同学可看看