Apache Web让JSP"动"起来

发表于:2007-05-25来源:作者:点击数: 标签:
Apache是目前Internet上应用最为广泛的一种Web应用服务,它不仅可以完全免费得到,而且 性能 十分可靠,其各种功能模块可以根据需要灵活地组合使用。同时,技术人员还可以在它现有的基础上进行二次 开发 ,因此备受使用者青睐。 JSP是一种较为常用的动态网页
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 -)

  ㈢、参数配置

  (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


  ㈣、测试

  分别启动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)中还有很多参数可根据实际情况进行调整,这里不多介绍。有兴趣的读者可以参考配置文件中的提示信息或网站上的有关资料,进行进一步的调整与测试。

原文转自:http://www.ltesting.net