一、整合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文件,在<Engine name="Catalina" defaultHost= "localhost">语句下添加语句<Listener className= "org.apache.jk.config. ApacheConfig" modJk="/etc/httpd/modules/mod_jk.so" />,如图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文件,修改后内容如下。
<IfModule !mod_jk.c> LoadModule jk_module "/etc/httpd/modules/mod_jk.so" </IfModule> JkWorkersFile "/usr/share/tomcat5/conf/jk/workers.properties" JkLogFile "/usr/share/tomcat5/logs/mod_jk.log" JkLogLevel emerg <VirtualHost *:80> ServerName localhost JkMount /*.jsp ajp13 </VirtualHost>
3.配置Tomcat
要实现Apache和Tomcat整合,需要设置Apache和Tomcat的主目录一致。由于Tomcat默认的主目录是/var/lib/tomcat5/webapps/ROOT,因此应编辑Tomcat的主配置文件/usr/share/tomcat5/conf/server.xml,找到如下语句:
<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">
在其后添加以下语句:
<Context path="" docBase="/var/www/html" debug="0"/>
这表明配置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整合成功。