Apache是目前Internet上应用最为广泛的一种Web应用服务,它不仅可以完全免费得到,而且性能十分可靠,其各种功能模块可以根据需要灵活地组合使用。同时,技术人员还可以在它现有的基础上进行二次开发,因此备受使用者青睐。
JSP是一种较为常用的动态网页制作技术,但Apache本身只支持静态网页,因此需要与其他特定的应用服务结合使用。本文要介绍的是一种将Apache与Tomcat服务相结合来支持JSP动态网页的最新实用技术,即用"apache/jk"方式支持JSP动态网页。
起初,Apache与Tomcat结合支持JSP动态网页是通过一个名为"mod_jserv" 的插件来实现的。采用这种Apache/Jserv方式配置参数十分复杂,运行效率很低,而且对SSL(一种加密传输方式)的支持也不理想,因此Jakarta工作组新近开发了"mod_jk"插件,它很好地弥补了mod_jserv的缺点,而且能支持Apache以外的多种Web服务。
关于这种Apache/Jk方式的实现原理,大家可到http://jakarta.apache.org网站上阅读有关资料,本文只简单介绍其实现的方法,对原理部分不做讨论。
一、在Unix平台上安装
本文以最常用的Solaris操作系统为例进行说明。
(一)应用环境
在此,我们选用的操作系统为Solaris 2.7,而应用环境为Java 1.2(假定安装在/usr/java1.2目录下)、perl 5.005(假定安装在/usr/local/bin目录下)和gzip(假定安装在/usr/local/bin目录下)。
(二)软件包的下载、编译与安装
1.下载地址
在http://www.apache.org可下载最新的Apache源代码软件包apache_1.3.19.tar.gz。 在http://jakarta.apache.org/builds/tomcat/release/v3.2.1/src/可下载Tomcat源代码软件包jakarta-tomcat-3.2.1-src.tar.gz。
在http://jakarta.apache.org/builds/jakarta-tomcat/release/v3.2.1/bin/可下载已编译的Tomcat应用软件包jakarta-tomcat-3.2.1.tar.gz。
2.编译与安装
假设各软件包已下载到当前的某个工作目录(如: /home/tmp)下,Apache和Tomcat将安装在/home目录下。在当前目录我们可以进行如下操作。
(1)编译和安装Apache 应用服务
①解包
$ /usr/local/bin/gzip -dc
./ apache_1.3.19.tar.gz
| tar xf -
②编译
$ cd apache_1.3.19
$ ./configure --prefix=/home/apache-1.3.19
--with-perl=/usr/local
/bin/perl --enable-module=so
假设perl的解释命令安装在/usr/local/bin 目录下,Apache服务安装在/home/apache-1.3.19 目录下。
$ make
③安装
$ su
# make install
(2)编译与安装mod_jk插件
①解包
$ /usr/local/bin/gzip-dc
jakarta-tomcat-3.2.1-src.tar.gz|tar xf-
②编译
$ cd jakarta-tomcat-3.2.1-src
/src/native/apache1.3
$ /home/apache-1.3.19/bin/apxs
-o mod_jk.so -DSOLARIS -I../jk -I/
usr/java1.2/include-I/usr/java1.2/include/
solaris -lposix4 -c *.c ../jk/*.c
假定Java安装在/usr/java1.2目录下。
③安装
$ su
# /home/apache-1.3.19/bin
/apxs -i -a -n jk mod_jk.so
当屏幕显示如下内容时,表示安装成功。
cp mod_jk.so /home/apache-1.3.19
/libexec/mod_jk.so
chmod 755 /home/apache-
1.3.19/libexec/mod_jk.so
[activating module `jk in
/home/apache-1.3.19/conf/httpd.conf]
(3)安装Tomcat服务
用超级用户身份把已编译的Tomcat 3.2.1解包到/home目录下即可。
$ su
# /usr/local/bin/gzip -dc
jakarta-tomcat-3.2.1.tar.gz|
(cd /home;tar xf -)
3.参数配置
(1)配置Apache服务
用vi命令打开Apache的配置文件httpd.conf。
# cd /home/apache-1.3.19/conf
# vi httpd.conf
在末尾添加以下内容。
JkWorkersFile /home/jakarta-tomcat-3.2.1
/conf/workers.properties
JkLogFile /home/apache-1.3.19/logs/mod_jk.log
注意: 日志文件可根据具体情况调整。
JkLogLevel warn
JkMount /*.jsp ajp13
JkMount /servlet/*.jsp ajp13
注意: 关于该配置文件中其他重要的、但与Tomcat无关的参数(如Port和DocumentRoot等),可参见Apache的文档资料,本文不涉及。
(2)配置Tomcat服务
首先,修改server.xml文件。这里假定存放Apache的Web网页的根目录为/home/htdocs。
# cd /home/jakarta-tomcat-3.2.1/conf
# vi server.xml
然后,在Connectors部分嵌入如下内容。
< Connector className=
"org.apache.tomcat.service.
PoolTcpConnector">
< Parameter name="handler"
value="org.apache.tomcat
.service.connector.Ajp
13ConnectionHandler"/>
< Parameter name="port"
value="8009"/>
< /Connector>
接着,在 Special Webapps 部分嵌入如下内容。
< Context path=" "
docBase="/home/htdocs"
debug="0" >
< /Context>
进一步修改workers.properties文件。
# vi workers.properties
...
workers.tomcat_home=
/home/jakarta-tomcat-3.2.1
...
workers.java_home=/usr/java1.2
...
ps=/
...
随后,修改Tomcat 启动和关闭命令文件。
# cd ../bin
# vi startup.sh
再在"BASEDIR=`dirname $0` "语句前嵌入如下内容。
PATH=/usr/java1.2/bin:$PATH:.
JAVA_HOME=/usr/java1.2
TOMCAT_HOME=/home/jakarta-tomcat-3.2.1
export PATH JAVA_HOME TOMCAT_HOME
# vi shutdown.sh
最后,在"BASEDIR=`dirname $0` "语句前嵌入如下内容。
PATH=/usr/java1.2/bin:$PATH:.
JAVA_HOME=/usr/java1.2
TOMCAT_HOME=/home/jakarta-tomcat-3.2.1
export PATH JAVA_HOME TOMCAT_HOME
4.测试
分别启动Apache和Tomcat。
# /home/apache-1.3.19/bin/apachectl start
# /home/jakarta-tomcat-3.2.1/bin/startup.sh
然后,编辑简单的.jsp测试文件。
# vi /home/apache/-1.3.19
/htdocs/test.jsp
< html>
< head>
< title> This is a jsp test file!
< /title>
< /head>
< body>
< % out.print("This is a jsp test file!n");
%>
< /body>
< /html>
最后,进行网页浏览。
打开浏览器,访问该.jsp文件: http://主机名(或IP地址)/test.jsp。若屏幕显示如附图所示的内容,表示运行正常,此时,可以正常运行JSP动态网页文件了。
二、在Windows NT/2000平台上安装
本文以Windows 2000平台为例。
(一)应用环境
操作系统采用Windows 2000,应用环境为Java 1.2.2(假定已安装在c:jdk-1.2.2上)和Winzip。
(二)软件包的下载与安装
Windows NT2000上的安装比较简单,应用软件不必重新编译,只下载网站上已经编译好的软件包即可。
1.下载地址
在 http://httpd.apache.org/dist/binaries/Windows32/ 可下载编译好的最新Apache软件包apache_1.3.19-Windows32-no_src-r2.msi。
在http://jakarta.apache.org/builds/jakarta-tomcat/release/v3.2.1/bin/Windows32/i386/ 可下载mod_jk.zip。
在http://jakarta.apache.org/builds/jakarta-tomcat/release/v3.2.1/bin/可下载jakarta-tomcat-3.2.1.zip。
2.安装
首先,双击"apache_1.3.19-Windows32-no_src-r2.msi",安装Apache 服务。
然后,将"mod_jk.zip"解压缩到Apache服务的"modules"子目录下;最后,将"jakarta-tomcat-3.2.1.zip"解压缩到C:目录下。
3.参数配置
(1)修改Apache服务的配置文件httpd.conf
注意: 本文只涉及与Tomcat有关的参数,其余的参数设置可参考Apache的有关文档资料。
首先用鼠标点击 "开始"*"程序 "*"apache httpd server"*"configure apache server"*"edit configuration"。
然后,在"Dynamic Shared Object (DSO) Support"部分嵌入如下内容。
LoadModule jk_module modules/mod_jk.dll
最后,在文件尾部添加如下内容。
JkWorkersFile c:jakarta-tomcat-
3.2.1confworkers.properties
JkLogFile c:jakarta-tomcat-3.2.1logsmod_jk.log
JkLogLevel warn
JkMount /*.jsp ajp13
JkMount /servlet/* ajp13
(2)配置Tomcat服务
对server.xml和workers.properties文件的参数调整,读者可参照Unix部分对应的段落。但读者要注意,对于不同层次的目录,Unix用"/"分隔,而Windows用""分隔。分别编辑startup.bat和shutdown.bat文件,在文件的第2行嵌入如下内容。
set TOMCAT_HOME=c:jakarta-tomcat-3.2.1
set JAVA_HOME=c:jdk1.2.2
set PATH=C:jdk1.2.2bin;.;%PATH%.
4.测试
参照Unix部分的对应段落进行测试。
本文只对apache/jk方式的配置和使用方法做了简单介绍,在Tomcat的配置文件(如server.xml)中还有很多参数可根据实际情况进行调整,这里不多介绍。有兴趣的读者可以参考配置文件中的提示信息或网站上的有关资料,进行进一步的调整与测试。