AS 4 下TOMCAT5.5.9+Apache2.0.54的整合安裝
經過多次測試,基本沒有問題。
安裝過程中需要注意有幾個目錄和文件需要自己建立,上面文檔中省略了。
記得最後要重起Apace和Tomcat,否則會出現500錯誤。
具體伺服器設置,請自行修改:)
Linux 2.6.9-5.EL
所需要的文件
# ls
httpd-2.0.54.tar.gz
jakarta-tomcat-connectors-jk2-src-current.tar.gz
jdk-1_5_0_03-linux-i586.bin
jakarta-tomcat-5.5.9.tar.gz
libtool-1.5.8.tar.gz
apr-1.1.1.tar.gz
apr-util-1.1.2.tar.gz
1.安裝JDK
解壓縮 jdk-1_5_0_03-linux-i586.bin
# ./jdk-1_5_0_03-linux-i586.bin
翻頁,提示后輸入y
移動jdk1.5.0_03到/usr/local/下
# mv jdk1.5.0_03 /usr/local/
建立/usr/local/下的jdk連接
# ln -s /usr/local/jdk1.5.0_03 /usr/local/jdk
設置環境變數
# vi /etc/profile
在最後加入:
JAVA_HOME=/usr/local/jdk
PATH=$PATH:$JAVA_HOME/bin
CLASSPATH=$JAVA_HOME/lib/tools.jar
export JAVA_HOME CLASSPATH
# wq
查看java環境變數
# source /etc/profile
# java -version
提示如下證明設置正確
java version "1.5.0_03"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_03-b07)
Java HotSpot(TM) Client VM (build 1.5.0_03-b07, mixed mode, sharing)
2.安裝Tomcat-5.5.9
解壓縮 jakarta-tomcat-5.5.9.tar.gz
# tar zxvf jakarta-tomcat-5.5.9.tar.gz
將 jakarta-tomcat-5.5.9.tar.gz安裝在/usr/local/目錄下
# mv jakarta-tomcat-5.5.9 /usr/local/
啟動TOMCAT
# /usr/local/jakarta-tomcat-5.5.9/bin/startup.sh
Using CATALINA_BASE: /usr/local/jakarta-tomcat-5.5.9
Using CATALINA_HOME: /usr/local/jakarta-tomcat-5.5.9
Using CATALINA_TMPDIR: /usr/local/jakarta-tomcat-5.5.9/temp
Using JRE_HOME: /usr/local/jdk1.5.0_03
建立jakarta-tomcat-5.5.9到tomcat軟連接
# ln -s jakarta-tomcat-5.5.9 tomcat
查看TOMCAT是否正常運行
http://192.168.0.157:8080
如果能打開說明TOCAT已經正常運行了
3.安裝apache
# cd ..
# tar zxvf httpd-2.0.54.tar.gz
# cd httpd-2.0.54
# ./configure --prefix=/usr/local/httpd2 --enable-module=most --enable-shared=max
# make
# make install
察看編譯進apache的模塊:
# /usr/local/httpd2/bin/httpd -l
Compiled in modules:
core.c
mod_access.c
mod_auth.c
mod_include.c
mod_log_config.c
mod_env.c
mod_setenvif.c
prefork.c
http_core.c
mod_mime.c
mod_status.c
mod_autoindex.c
mod_asis.c
mod_cgi.c
mod_negotiation.c
mod_dir.c
mod_imap.c
mod_actions.c
mod_userdir.c
mod_alias.c
mod_so.c
看到以上的信息表明apache支持dso方式了。
這樣就可以用dso的方式把php和tomcat-connectors的模塊加進來。
4.安裝jakarta-tomcat
tomcat-connectors 用來整合apache和tomcat,編譯生成mod_jk2.so模塊,apache載入之後,就能將不屬
於自己的請求轉發給tomcat。
回到原目錄,解壓縮
# tar zxfz jakarta-tomcat-connectors-jk2-src-current.tar.gz
# cd jakarta-tomcat-connectors-jk2-2.0.4-src/jk/native2
配置編譯
# ./configure --with-apxs2=/usr/local/httpd2/bin/apxs
編譯過程中提示:configure: error: can't locate libapr
到http://apache.osuosl.org/apr/下載libapr和libaprutil
# cd ../..
下載apr-1.1.1.tar.gz和apr-util-1.1.2.tar.gz
# wget http://apache.osuosl.org/apr/apr-1.1.1.tar.gz
# wget http://apache.osuosl.org/apr/apr-util-1.1.2.tar.gz
解壓縮安裝libapr
# tar zxvf apr-1.1.1.tar.gz
# cd apr-1.1.1
# ./configure
# make
# make install
# cd ..
解壓縮安裝libaprutil
# tar zxvf apr-util-1.1.2.tar.gz
# cd apr-util-1.1.2
# ./configure --with-apr=../apr-1.1.1
# make
# make install
建立libapr和libaprutil 的軟連接到/usr/local/httpd2/lib/目錄下
# ln -s /usr/local/apr/lib/libapr-1.so.0.1.1 /usr/local/httpd2/lib/libapr-1.so
# ln -s /usr/local/apr/lib/libapr-1.so.0.1.1 /usr/local/httpd2/lib/libapr-1.so.0
# ln -s /usr/local/apr/lib/libaprutil-1.so.0.1.1 /usr/local/httpd2/lib/libaprutil-1.so
# ln -s /usr/local/apr/lib/libaprutil-1.so.0.1.1 /usr/local/httpd2/lib/libaprutil-1.so.0
# rpm -e libtool
下載libtool-1.5.8.tar.gz
# wget http://ftp.gnu.org/gnu/libtool/libtool-1.5.8.tar.gz
解壓縮安裝
# tar zxvf libtool-1.5.8.tar.gz
# cd libtool-1.5.8
# ./configure
# make
# make install
刪除原來的/usr/local/httpd2/build/libtool
# rm –rf /usr/local/httpd2/build/libtool
建立新的libtool 軟連接
# ln -s /usr/local/bin/libtool /usr/local/httpd2/build/libtool
回到原目錄下,再次編譯jakarta-tomcat-connectors
# rm -rf jakarta-tomcat-connectors-jk2-2.0.4-src
# tar vxfz jakarta-tomcat-connectors-jk2-src-current.tar.gz
# cd jakarta-tomcat-connectors-jk2-2.0.4-src/jk/native2
配置編譯
# ./configure --with-apxs2=/usr/local/httpd2/bin/apxs
# make
# cd ../build/jk2/apache2/
拷貝mod_jk2.so到/usr/local/apache2/modules目錄下。
# cp mod_jk2.so /usr/local/httpd2/modules/
5.配置
# vi /usr/local/httpd2/conf/httpd.conf
請參照下文進行修改
DocumentRoot "/var/www/html"
<Directory />;
Options None
AllowOverride None
Order deny,Allow
Allow from all
</Directory>;
<Directory "/var/www/html">;
Options Includes FollowSymLinks
AllowOverride None
Order deny,allow
Allow from all
XBitHack on
</Directory>;
LoadModule jk2_module modules/mod_jk2.so
DirectoryIndex index.htm index.jsp index.html
<Directory "/var/www/html/WEB-INF">;
Deny from all
</Directory>;
JkSet config.file /usr/local/httpd2/conf/workers2.properties
創建/usr/local/httpd2/conf/workers2.properties,內容如下:
level=ERROR
file=/usr/local/httpd2/conf/workers2.properties
debug=0
debugEnv=0
# Alternate file logger
#level=DEBUG
level=ERROR
file=/var/log/httpd/jk2.log
info=Scoreboard. Required for reconfiguration and status with multiprocess servers
file=/var/log/httpd/jk2.shm
size=1048576
debug=0
disabled=0
info=Ajp13 forwarding over socket
debug=0
tomcatId=localhost:8009
keepalive=1
channel=channel.socket:localhost:8009
debug=0
info=Status worker, displays runtime informations
info=Display status information and checks the config file for changes.
worker=ajp13:localhost:8009
worker=ajp13:localhost:8009
修改/usr/local/tomcat/conf/server.xml
在
<Host name="localhost" debug="0" appBase="apps"
unpackWARs="true" autoDeploy="true">;
段中添加:
<Context path="" docBase="/var/www/html" debug="0"
reloadable="true" crossContext="true"/>;
保存退出。
7.測試:
在/var/www/html/下創建test.jsp,
內容:
<%@ page import="java.util.*,java.sql.*,java.text.*" contentType="text/html;charset=gb2312"
%>;
<%
out.println("test page");
%>;
Apache和Tomcat的啟動和關閉
# /usr/local/httpd2/bin/apachectl start 啟動
# /usr/local/httpd2/bin/apachectl restart 重啟
# /usr/local/httpd2/bin/apachectl stop 關閉
# /usr/local/tomcat/bin/startup.sh 啟動
# /usr/local/tomcat/bin/shutdown.sh 關閉
如果要在計算機啟動的時候就運行httpd服務,可以在/etc/rc.d/rc.local文件中加入這幾行:
# start apache
/usr/local/httpd2/bin/apachectl start
# start tomcat
/usr/local/tomcat/bin/startup.sh
訪問 http://192.168.0.157/test.jsp
在實驗和撰寫本文過程中,參考了很多大牛們的文章,這裡一併表示感謝.文中難免有謬誤疏漏之處,還望批評指正.
langyufeng
《解決方案》
werwer