Linux下Apache与Tomcat 整合

时间:2022-06-15 19:11:43
1、准备,下载需要的文件。
软件下载:
  1. jdk
  2. tomcat
  3. apache
  4.tomcat-connectors
到Apache官方网站下载所需要的文件
2、安装Apache

见我的博客
3、安装Tomcat。
4、编译生成mod_jk
# tar xzvf jakarta-tomcat-connectors-1.2.15-src.tar.gz
# cd jakarta-tomcat-connectors-1.2.15-src/native
# ./configure --with-apxs=/usr/local/apache2/bin/apxs
# make
# cp ./apache-2.0/mod_jk.so /usr/local/apache2/modules/
5、配置。
在/usr/local/apache2/conf/下面建立两个配置文件mod_jk.conf和workers.properties
sudo gedit /usr/local/apache2/conf/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 [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"

# 将所有servlet 和jsp请求通过ajp13的协议送给Tomcat,让Tomcat来处理

JkMount /servlet/* worker1

JkMount /*.jsp worker1

注意: # JkMount 表示使用Tomcat来解析, JkUnMount则相反
         # JkMount /test/* worker1 表示把test目录下的所有文件以及子目录都交给Tomcat处理
         #  一般是jsp和servlet程序交由tomcat处理就可以了,静态文件图片等仍然由Apache处理
         #  你可以根据需要来设定,比如只把test/*.jsp交给Tomcat处理   
         # JkMount /test/*.jsp worker1
         #JkAutoAlias /home/work/dev/test/*
         #该文件夹下所有的静态文件自动交由Apache处理
         JkMount /test/servlet/* worker1   
         #/test/servlet/下所有的文件也交给Tomcat处理


sudo gedit /usr/local/apache2/conf/workers.properties
添加如下代码:
# Defining a worker named worker1 and of type ajp13
worker.list=worker1

# Set properties for 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
再配置httpd.conf,
作以下修改:
sudo gedit /usr/local/apache2/conf/httpd.conf
Listen 80 修改为 Listen 127.0.0.1:80
ServerName 修改为 ServerName LocalHost:80
DirectoryIndex中添加
DirectoryIndex index.html  index.jsp
我的网页放在 /home/zhangxinming/workspace/apache/htdocs下,所以要修改 DocumentRoot
DocumentRoot "/home/zhangxinming/workspace/apache/htdocs"
#
<Directory "/home/zhangxinming/workspace/apache/htdocs">
Options Includes FollowSymLinks
AllowOverride None
Order deny,allow
Allow from all

</Directory>
增加关于加载mod_jk的语句:
LoadModule jk_module modules/mod_jk.so
Include /usr/local/apache2/conf/mod_jk.conf
最后编辑Tomcat的配置文件server.xml,在HOST段中加入:
<Context path="" docBase="/home/zhangxinming/workspace/apache/htdocs"
debug="0" reloadable="true" crossContext="true"/>
/home/zhangxinming/workspace/apache/htdocs
下建立一个index.jsp,
内容如下:
<html>
<body>
<center>
Now time is: <%=new java.util.Date()%>
</center>
</body>
</html>
启动Apache和Tomcat,
用浏览器访问http://localhost/,如果可以看到正确的页面。说明正确了