一、整合Apache和Tomcat


虽然Tomcat可以独立作为Web服务器运行,但Tomcat的Web功能远没有Apache强大,所以在实际应用中是通过mod_jk连接器(Connectors)将Apache和Tomcat整合在一起提供服务的,Apache处理静态页面的请求,Tomcat则用于处理Servlet和JSP程序。

1.下载mod_jk

目前mod_jk连接器最新的稳定版本是1.2.23,使用Web浏览器访问http://www.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/linux/jk-1.2.23/,单击页面的"mod_jk-1.2.23-apache- 2.2.x-linux-i686.so"超链接,下载mod_jk,文件大小约为589kB,如图7-34所示。

2.安装和配置mod_jk

将mod_jk-1.2.23-apache-2.2.x-linux-i686.so拷贝到/etc/httpd/modules目录中,并将它重命名为mod_jk.so。

在/usr/share/tomcat5/conf目录中新建子目录jk,并新建文件workers.properties,内容如下。

workers.tomcat_home=/usr/share/tomcat5
workers.java_home=/usr/lib/jvm/java
ps=/
worker.list= ajp13
worker.ajp13.port=8009
worker.ajp13.host=127.0.0.1
worker.ajp13.type=ajp13
worker.ajp13.lbfactor=1

修改/usr/share/tomcat5/conf/server.xml文件,在语句下添加语句,如图7-35所示。


重新启动Tomcat服务,这时将自动生成目录/usr/share/tomcat5/conf/auto和文件/usr/share/tomcat5/conf/auto/mod_jk.conf。将文件/usr/share/tomcat5/conf/auto/mod_jk.conf拷贝到/usr/share/tomcat5/conf/jk目录中,并重命名为mod_jk.conf-auto。

修改mod_jk.conf-auto文件,修改后内容如下。


LoadModule jk_module "/etc/httpd/modules/mod_jk.so"

JkWorkersFile "/usr/share/tomcat5/conf/jk/workers.properties"
JkLogFile "/usr/share/tomcat5/logs/mod_jk.log"
JkLogLevel emerg

ServerName localhost
JkMount /*.jsp ajp13

3.配置Tomcat

要实现Apache和Tomcat整合,需要设置Apache和Tomcat的主目录一致。由于Tomcat默认的主目录是/var/lib/tomcat5/webapps/ROOT,因此应编辑Tomcat的主配置文件/usr/share/tomcat5/conf/server.xml,找到如下语句:

在其后添加以下语句:


这表明配置Tomcat主目录为/var/www/html/,如图7-36所示。


4.配置Apache

编辑文件/etc/httpd/conf/httpd.conf,在文件末尾添加如下语句:

Include /usr/share/tomcat5/conf/jk/mod_jk.conf-auto

5.重新启动Apache和Tomcat

由于使用mod_jk连接器分别修改了Apache和Tomcat的配置文件,因此需要使用以下命令重新启动Apache和Tomcat。

/etc/init.d/httpd restart
/etc/init.d/tomcat5 restart

6.测试Apache和Tomcat整合

在主目录/var/www/html/中建立一个名为test.jsp的文件,该文件的内容如下:

Hello! The time is <%= new java.util.Date() %>

在客户端的浏览器中访问"http://Linux服务器的IP地址/test.jsp",如果出现如图7-37所示的"Hello! The time is 当前时间"的信息,则表示Apache和Tomcat整合成功。

参考:http://book.51cto.com/art/200811/96928.htm