Tomcat和 apache的整合
Tomcat能够处理jsp等动态请求,但在处理高并发上不如apache那么强大,所以需要将两者整合。1.编译安装mode_jk.so模块
mod_jk简称JK,是Apache服务器的一个可插入模块,用以提供处理JSP/Servlet的能力,mod_jk实质上是Apache与Tomcat的连接器,并藉此附带提供集群和负载均衡的功能
在编译安装mod_jk前需要系统已经安装apxs,该文件可通过安装httpd-devel得到
yum install httpd-devel
下载tomcat-connectors-1.2.40-src.tar.gz
解压:
tar zxvftomcat-connectors-1.2.40-src.tar.gz
进入native目录,执行buildconf.sh
./buildconf.sh
./configure --with-apxs=/usr/sbin/apxs
make &make instal
编译安装完成后,会在/usr/lib64/httpd/modules/和/etc/httpd/modules下生成mod_jk.so
2.apache加载mod_jk
在/etc/httpd/conf/下面建立两个配置文件mod_jk.conf和workers.properties。
# vi mod_jk.conf
添加以下内容:
# 指出mod_jk模块工作所需要的工作文件workers.properties的位置
JkWorkersFile/usr/local/apache2/conf/workers.properties
# Where to put jk logs
JkLogFile /usr/local/apache2/logs/mod_jk.log
# Set the jk log level
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"
# 将所有servlet 和jsp请求通过ajp13的协议送给Tomcat,让Tomcat来处理
JkMount /servlet/* worker1#让Apache支持对servlet传送,用以Tomcat解析
JkMount /*.jsp worker1 #让Apache支持对jsp传送,用以Tomcat解析
# vi workers.properties
添加以下内容:
# Defining a worker named worker1 and of typeajp13
worker.list=worker1
# Set properties for worker1
worker.worker1.type=ajp13#传输类型
worker.worker1.host=localhost
worker.worker1.port=8009 # AJP1.3传输所使用的端口
worker.worker1.lbfactor=50
worker.worker1.cachesize=10
worker.worker1.cache_timeout=600
worker.worker1.socket_keepalive=1
worker.worker1.socket_timeout=300
配置httpd.conf
1.在http.conf末尾增加如下语句,加载mod_jk.so模块
LoadModule jk_module modules/mod_jk.so
Include /etc/httpd/conf/mod_jk.conf
2.在DirectoryIndex中添加 index.jsp
3.默认DocumentRoot为 /var/ww/html,在此目录下新建index.jsp,写入测试
语句:
4.配置 tomcat server.xml,
在HOST段中加入:
#在配置文件中可以看到tomcat默认使用端口8009进行AJP协议的传输
启动Apache和Tomcat,用浏览器访问http://localhost/,看到”hello java”就说明配置成功了。
页:
[1]