linux下Tomcat 5.0.20 與 Apache 2 安裝/整合/配置
寫在前面
官方網站
http://jakarta.apache.org/tomcat/connectors-doc/
2004/11/15/已經宣布不再繼續開發jk2了。
原因是jk2的安裝配置複雜,難以引起開發人員的興趣。(作者注:注意並非說jk2有什麼致命的漏洞,jk2還是可以用的)
將來的httpd2.1將整合進新的proxy_ajp,並將開發新的proxy_balancer進行Server Load Balancer。
要麼我們靜靜的等待,要麼就看下面的文檔進行jk2的配置
參考文章
Tomcat5.0.20+Apache2.0.47+JK2 For Linux設定 [精華]
http://www.javaworld.com.tw/jute/post/view?bid=9&id=48815&tpg=3&ppg=1&sty=1&age=0#48815
<<JSP技術手冊>>
官方網站
http://jakarta.apache.org/tomcat/connectors-doc/
[求助]Apache+Tomcat整合問題
http://www.matrix.org.cn/forum_view.asp?forum_id=17&view_id=12656
談談我對apache+tomcat+jk2整合的理解
http://www.kehui.net/html/article/23/23791.html
重點參考的是前三項
所需軟體包
httpd-2.0.52.tar.gz
jakarta-tomcat-5.5.7.tar.gz
jdk-1_5_0_01-linux-i586.bin
jakarta-tomcat-connectors-jk2-src-current.tar.tar(作者注:版本是2.0.2)
libtool-1.5.tar.gz(某些linux環境需要,我沒有用。參見<<JSP技術手冊>>)
安裝過程
安裝JDK
此處略,參見
linux下jdk安裝及其環境變數配置
http://blog.csdn.net/sswt/archive/2004/08/19/79471.aspx
安裝Apache
必要檔案: httpd-2.0.52.tar.gz
執行動作:
解壓縮 - tar xvfz httpd-2.0.47.tar.gz
安裝
cd httpd-2.0.47
./configure --prefix=/usr/local/apache --enable-so
(作者注:prefix是指出apache安裝的路徑,預設為/usr/local/apache)
(作者注:enable是這裡對應於後來需要的關鍵檔案mod_jk2.so)
make
make install
設定 - 修改httpd.conf
找到Listen 80 改為Listen <Your IP>:80
找到ServerName 改為 ServerName <HOST-NAME>:80
(上面兩項是為了讓打 IP 可以看的見)
找到DirectoryIndex 後面增加index.jsp
找到AddDefaultCharset XXX 在最前面增加#將其Mark起來使其失效
(這個設定是可以自我設定字集,我使用UTF-8)
安裝Tomcat
必要檔案: jakarta-tomcat-5.0.20.tar.gz
執行動作:
解壓縮 - tar xvfz jakarta-tomcat-5.0.20.tar.gz
安裝
mv jakarta-tomcat-5.0.20 /usr/local/
ln –s /usr/local/jakarta-tomcat-5.0.20 /usr/local/tomcat
打開/usr/local/tomcat/bin/Catalina.sh 在上面註解的下方加入
JAVA_HOME=/usr/local/java/CATALINA_HOME=”/usr/local/tomcat/”
安裝JK2 Connector [關鍵]
必要檔案: jakarta-tomcat-connectors-jk2-src.tar.gz
執行動作:
解壓縮 - tar xvfz jakarta-tomcat-connectors-jk2-src.tar.gz
安裝
cd jakarta-tomcat-connectors-jk2/jk/native2
./buildconf.sh
./configure --with-apxs2=/usr/local/apache/bin/apxsmake
cp jk/build/jk2/apache2/mod_jk2.so /usr/local/apache/modules
設定
[關鍵]在Apache目錄下的conf資料夾 設定httpd.conf加入
LoadModule jk2_module modules/mod_jk2.so
在httpd.conf裡面找到DocumentRoot 將後面改為“/usr/local/tomcat/webapps/”(此動作隨個人意願決定)
[關鍵]
拷貝/jakarta-tomcat-connectors-jk2-2.0.2-src/jk/conf/下的workers2.properties到
/apache/conf/下
[關鍵]修改檔案
vi /usr/local/apache/conf/workers2.properties
在最後加上指向tomcat/webapp/下的某個應用目錄,例如
# Map the Tomcat examples webapp to the Web server uri space
[uri:/jsp-examples/*]
info=Map the whole webapp
[關鍵]修改檔案
vi /usr/local/tomcat/conf/jk2.properties
# list of needed handlers.
handler.list=channelSocket,request
# Override the default port for the channelSocket
channelSocket.port=8009
[關鍵]修改檔案
vi /tomcat/conf/server.xml
登出掉該段
<!--
<Connector port="8080"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true" />
-->
確保該段沒有被登出
<Connector port="8009"
enableLookups="false" redirectPort="8443" protocol="AJP/1.3" />
<------------------------------------------------------------------------>
設定環境變數
vi /etc/profile
最後加上
export JAVA_HOME=/usr/local/java
export PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre
export CLASSPATH=$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar
export CATALINA_HOME=/usr/local/tomcat
export CATALINA_BASE=/usr/local/tomcat
(作者注:我只加了export CATALINA_HOME=/usr/local/tomcat,java的原來就有)
啟動、關閉、測試
啟動
/tomcat/bin/catalina.sh start
/apache/bin/apachectl start
關閉
/tomcat/bin/catalina.sh stop
/apache/bin/apachectl stop
測試
http://202.108.39.179/jsp-examples/
如果出現tomcat的jsp-examples/頁面,則成功了
如果出現問題,不要氣餒啊,我也是經曆了磨難地,歡迎和我討論sswt@163.com