Apache Web让JSP“动”起来

(编辑:jimmy 日期: 2024/12/23 浏览:2)

 
---- 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方式的实现原理,大家可到网站上阅读有关资料,本文只简单介绍其实现的方法,对原理部分不做讨论。 
---- 一、在Unix平台上安装 
---- 本文以最常用的Solaris操作系统为例进行说明。 
---- (一)应用环境 
---- 在此,我们选用的操作系统为Solaris 2.7,而应用环境为Java 1.2(假定安装在/usr/java1.2目录下)、perl 5.005(假定安装在/usr/local/bin目录下)和gzip(假定安装在/usr/local/bin目录下)。 
---- (二)软件包的下载、编译与安装 
---- 1.下载地址 
---- 在可下载最新的Apache源代码软件包apache_1.3.19.tar.gz。 
---- 在可下载Tomcat源代码软件包jakarta-tomcat-3.2.1-src.tar.gz。 
---- 在可下载已编译的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.下载地址 
---- 在 可下载编译好的最新Apache软件包apache_1.3.19-Windows32-no_src-r2.msi。 
---- 在 可下载mod_jk.zip。 
---- 在可下载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)中还有很多参数可根据实际情况进行调整,这里不多介绍。有兴趣的读者可以参考配置文件中的提示信息或网站上的有关资料,进行进一步的调整与测试。 
---- (闫鹏 作者地址:北京市西城区三里河路58号国家信息中心中经网公司,100045)