說明:本方案已經在redhat8/9,rhel2.1/3,fedora1上測試通過,歡迎大家在其他系統上測試後反饋結果。
各種版本的安裝步驟都基本相同,區別只在於httpd和mod_jk的版本不同,後面我附了各種版本mod_jk的說明,大家可以去作者主頁下載文中涉及的mod_jk的rpm安裝包。
(這裡實在不好排版,還是建議大家去原網址去看)
下面是以rhel3為例。
1.安裝和tomcat
./j2sdk1.4.2_04.bin
cp -R j2sdk1.4.2_04 /var/jdk
2.安裝Tomcat4.1.29,將下載下來的tomcat1.4.29.tar.gz解壓拷貝到相應的目錄即可
tar xvzf tomcat4.1.29.tar.gz
cp tomcat4.1.29 /var/tomcat4
3.設置環境變量
eXPort Java_HOME=/var/jdk
export PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin
export CATALINA_HOME=/var/tomcat4
可以在/etc/profile.d/下面建立一個java.sh來設置環境變量,免得以後每次啟動後都要重新設置
vi /etc/profile.d/java.sh
java.sh的內容如下:
代碼:
#這裡改為你的jdk路徑
JAVA_HOME=/var/jdk
#這裡改為你的tomcat安裝路徑,不過似乎不設也可以
CATALINA_HOME=/var/tomcat4
#設置PATH,注意將jdk的bin路徑加入,也可以將tomcat的bin目錄加入
PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$CATALINA_HOME/bin
export JAVA_HOME CATALINA_HOME PATH
.
將java.sh改為可執行
chmod 755 /etc/profile.d/java.sh
4.安裝httpd,這個都可以使用系統自帶的,也可以去www.apache.org下載最新版的rpm包來警醒安裝,我裝的是rhel自帶的2.0.46
5.安裝mod_jk,我裝的是mod_jk-tomcat4.1.24-fc1.i386.rpm,雖然是for fedora1的,但在rhel3下也可以正常使用,這個在後面會有說明.
注意,只有將jdk和tomcat裝在特定的目錄下mod_jk才能檢測到,所以這裡我們強制安裝
rpm -i --nodeps mod_jk.rpm
好了,現在需要的軟件都安裝完了,剩下的就是配置的工作.
mod_jk.rpm除了安裝mod_jk.so以外,還會在/etc/httpd/conf和/etc/httpd/conf.d下面分別增加兩個文件mod_jk.properties和mod_jk.conf
下面我們分別進行配置
5.mod_jk.properties的設置
cd /etc/httpd/conf/
vi mod_jk.properties
內容如下
代碼:
#修改workers.tomcat_home為tomcat的安裝目錄
workers.tomcat_home=/var/tomcat4
#workers.java_home為jdk的安裝目錄
workers.java_home=/var/jdk
worker.list=ajp13
#注意,有的版本的mod_jk裡這個端口默認是8109,要自己改為8009
worker.ajp13.port=8009
worker.ajp13.host=localhost
worker.ajp13.type=ajp13
6.mod_jk.conf的配置
這個文件主要是使httpd正確的加載mod_jk.so並匹配jsp文件,另外我們還要設置index.jsp或default.jsp為httpd每個目錄的默認index文件.
vi /etc/httpd/conf.d/mod_jk.conf
內容如下
#加載mod_jk
LoadModule jk_module modules/mod_jk.so
#配置
JkWorkersFile conf/mod_jk.properties
JkLogFile logs/mod_jk
JkLogLevel warning
#文件類型匹配
JkMount /*.jsp ajp13
JkMount /*.do ajp13
JkMount /servlet/* ajp13
#設置默認索引頁
DirectoryIndex index.jsp
7.對httpd進行配置,詳情可參看關於httpd配置的相關教程,我們這裡只需要設置httpd默認語言為簡體中文
AddDefaultCharset GB2312
並將將tomcat和http的根目錄(或虛擬主機的根目錄)設為相同目錄
8.啟動tomcat,apache看看.
一點經驗:
1. 關於mod_jk
mod_jk一般都是只跟httpd版本有關,跟操作系統甚至tomcat版本關系都不是很大,一般tomcat4下的都可以通用。
根據這幾天的經驗,這幾個版本的mod_jk分別適用范圍為
mod_jk-tomcat4.1.24-fc1.i386.rpm 適用於http2.0.46~2.0.52版本,即rhel3,fedora系列,再往後的版本現在還沒發測試,2.0.52版本現在就是最新的了
mod_jk-tomcat4.1.18-rh80.i386.rpm 適用於httpd2.0.40版本,redhat8/9及其升級版本都可以用
mod_jk-tomcat4.1.24-rh80.i386.rpm 同上,只是要求tomcat的版本不同,但經過測試,tomcat4系列的都可以使用.
2.關於redhat8/9,rhel3,redhat8/9上的軟件大部分都可以在rhel上正常運行,因此如果在rhel上找不到合適的軟件的話可以拿redhat8/9上的軟件來試試。
根據這幾天的經驗,這幾個版本的mod_jk分別適用范圍為
mod_jk-tomcat4.1.24-fc1.i386.rpm 適用於http2.0.46~2.0.52版本,即rhel3,fedora系列,再往後的版本現在還沒發測試,2.0.52版本現在就是最新的了
mod_jk-tomcat4.1.18-rh80.i386.rpm 適用於httpd2.0.40版本,redhat8/9及其升級版本都可以用
mod_jk-tomcat4.1.24-rh80.i386.rpm 同上,只是要求tomcat的版本不同,但經過測試,tomcat4系列的都可以使用.
2.關於redhat8/9,rhel3,redhat8/9上的軟件大部分都可以在rhel上正常運行,因此如果在rhel上找不到合適的軟件的話可以拿redhat8/9上的軟件來試試。