Apache Web讓JSP“動(dòng)”起來
2024-08-27 18:30:13
供稿:網(wǎng)友
---- JSP是一種較為常用的動(dòng)態(tài)網(wǎng)頁制作技術(shù),但Apache本身只支持靜態(tài)網(wǎng)頁,因此需要與其他特定的應(yīng)用服務(wù)結(jié)合使用。本文要介紹的是一種將Apache與Tomcat服務(wù)相結(jié)合來支持JSP動(dòng)態(tài)網(wǎng)頁的最新實(shí)用技術(shù),即用"apache/jk"方式支持JSP動(dòng)態(tài)網(wǎng)頁。
---- 起初,Apache與Tomcat結(jié)合支持JSP動(dòng)態(tài)網(wǎng)頁是通過一個(gè)名為"mod_jserv" 的插件來實(shí)現(xiàn)的。采用這種Apache/Jserv方式配置參數(shù)十分復(fù)雜,運(yùn)行效率很低,而且對(duì)SSL(一種加密傳輸方式)的支持也不理想,因此Jakarta工作組新近開發(fā)了"mod_jk"插件,它很好地彌補(bǔ)了mod_jserv的缺點(diǎn),而且能支持Apache以外的多種Web服務(wù)。
---- 關(guān)于這種Apache/Jk方式的實(shí)現(xiàn)原理,大家可到網(wǎng)站上閱讀有關(guān)資料,本文只簡(jiǎn)單介紹其實(shí)現(xiàn)的方法,對(duì)原理部分不做討論。
---- 一、在Unix平臺(tái)上安裝
---- 本文以最常用的Solaris操作系統(tǒng)為例進(jìn)行說明。
---- (一)應(yīng)用環(huán)境
---- 在此,我們選用的操作系統(tǒng)為Solaris 2.7,而應(yīng)用環(huán)境為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應(yīng)用軟件包jakarta-tomcat-3.2.1.tar.gz。
---- 2.編譯與安裝
---- 假設(shè)各軟件包已下載到當(dāng)前的某個(gè)工作目錄(如: /home/tmp)下,Apache和Tomcat將安裝在/home目錄下。在當(dāng)前目錄我們可以進(jìn)行如下操作。
(1)編譯和安裝Apache 應(yīng)用服務(wù)
①解包
$ /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
假設(shè)perl的解釋命令安裝在/usr/local/bin 目錄下,
Apache服務(wù)安裝在/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
當(dāng)屏幕顯示如下內(nèi)容時(shí),表示安裝成功。
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服務(wù)
用超級(jí)用戶身份把已編譯的Tomcat 3.2.1解包到/home目錄下即可。
$ su
# /usr/local/bin/gzip -dc jakarta-tomcat-3.2.1.tar.gz|
(cd /home;tar xf -)
3.參數(shù)配置
(1)配置Apache服務(wù)
用vi命令打開Apache的配置文件httpd.conf。
# cd /home/apache-1.3.19/conf
# vi httpd.conf
在末尾添加以下內(nèi)容。
JkWorkersFile /home/jakarta-tomcat-3.2.1/conf/workers.properties
JkLogFile /home/apache-1.3.19/logs/mod_jk.log
注意: 日志文件可根據(jù)具體情況調(diào)整。
JkLogLevel warn
JkMount /*.jsp ajp13
JkMount /servlet/*.jsp ajp13
注意: 關(guān)于該配置文件中其他重要的、但與Tomcat無關(guān)
的參數(shù)(如Port和DocumentRoot等),可參見Apache的文檔資料,本文不涉及。
(2)配置Tomcat服務(wù)
首先,修改server.xml文件。
這里假定存放Apache的Web網(wǎng)頁的根目錄為/home/htdocs。
# cd /home/jakarta-tomcat-3.2.1/conf
# vi server.xml
然后,在Connectors部分嵌入如下內(nèi)容。
< 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 部分嵌入如下內(nèi)容。
< Context path=" "
docBase="/home/htdocs"
debug="0" >
< /Context>
進(jìn)一步修改workers.properties文件。
# vi workers.properties
...
workers.tomcat_home=/home/jakarta-tomcat-3.2.1
...
workers.java_home=/usr/java1.2
...
ps=/
...
隨后,修改Tomcat 啟動(dòng)和關(guān)閉命令文件。
# cd ../bin
# vi startup.sh
再在"BASEDIR=`dirname $0` "語句前嵌入如下內(nèi)容。
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` "語句前嵌入如下內(nèi)容。
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.測(cè)試
分別啟動(dòng)Apache和Tomcat。
# /home/apache-1.3.19/bin/apachectl start
# /home/jakarta-tomcat-3.2.1/bin/startup.sh
然后,編輯簡(jiǎn)單的.jsp測(cè)試文件。
# 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>
最后,進(jìn)行網(wǎng)頁瀏覽。
---- 打開瀏覽器,訪問該.jsp文件: 主機(jī)名(或IP地址)/test.jsp。若屏幕顯示如附圖所示的內(nèi)容,表示運(yùn)行正常,此時(shí),可以正常運(yùn)行JSP動(dòng)態(tài)網(wǎng)頁文件了。
二、在Windows NT/2000平臺(tái)上安裝
---- 本文以Windows 2000平臺(tái)為例。
---- (一)應(yīng)用環(huán)境
---- 操作系統(tǒng)采用Windows 2000,應(yīng)用環(huán)境為Java 1.2.2(假定已安裝在c:jdk-1.2.2上)和Winzip。
---- (二)軟件包的下載與安裝
---- Windows NT2000上的安裝比較簡(jiǎn)單,應(yīng)用軟件不必重新編譯,只下載網(wǎng)站上已經(jīng)編譯好的軟件包即可。
---- 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 服務(wù)。
---- 然后,將"mod_jk.zip"解壓縮到Apache服務(wù)的"modules"子目錄下;最后,將"jakarta-tomcat-3.2.1.zip"解壓縮到C:目錄下。
---- 3.參數(shù)配置
---- (1)修改Apache服務(wù)的配置文件httpd.conf
---- 注意: 本文只涉及與Tomcat有關(guān)的參數(shù),其余的參數(shù)設(shè)置可參考Apache的有關(guān)文檔資料。
---- 首先用鼠標(biāo)點(diǎn)擊 "開始"*"程序 "*"apache httpd server"*"configure apache server"*"edit configuration"。
---- 然后,在"Dynamic Shared Object (DSO) Support"部分嵌入如下內(nèi)容。
LoadModule jk_module modules/mod_jk.dll
最后,在文件尾部添加如下內(nèi)容。
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服務(wù)
---- 對(duì)server.xml和workers.properties文件的參數(shù)調(diào)整,讀者可參照Unix部分對(duì)應(yīng)的段落。但讀者要注意,對(duì)于不同層次的目錄,Unix用"/"分隔,而Windows用""分隔。
---- 分別編輯startup.bat和shutdown.bat文件,在文件的第2行嵌入如下內(nèi)容。
set TOMCAT_HOME=c:jakarta-tomcat-3.2.1
set JAVA_HOME=c:jdk1.2.2
set PATH=C:jdk1.2.2bin;.;%PATH%.
4.測(cè)試
參照Unix部分的對(duì)應(yīng)段落進(jìn)行測(cè)試。
---- 本文只對(duì)apache/jk方式的配置和使用方法做了簡(jiǎn)單介紹,在Tomcat的配置文件(如server.xml)中還有很多參數(shù)可根據(jù)實(shí)際情況進(jìn)行調(diào)整,這里不多介紹。有興趣的讀者可以參考配置文件中的提示信息或網(wǎng)站上的有關(guān)資料,進(jìn)行進(jìn)一步的調(diào)整與測(cè)試。
---- (閆鵬 作者地址:北京市西城區(qū)三里河路58號(hào)國家信息中心中經(jīng)網(wǎng)公司,100045)