Tomcat是Sun和Apache合作產(chǎn)生出來的JSP Server, 它支持Servlet 和JSP. Tomcat本身可以作為Web Server, 當處理靜態(tài)頁面時,Tomcat不如Apache迅速,不象Apache一樣可配置. Apache作為最流行的Web服務器,它功能強大,高效,但并不支持JSP及servlet,所以通常的做法是把它們整合起來,讓Apache處理靜態(tài)頁面,而把動態(tài)頁面的請求交給Tomcat處理,發(fā)揮各自的優(yōu)勢. 通過在Apache中加載整合模塊和進行設置,Apache就能夠根據(jù)URL,把不屬于自己的請求轉(zhuǎn)給Tomcat. 要讓Apache和Tomcat聯(lián)合工作,還必需有一個連接器(connector)把它們聯(lián)系起來. Connector對于性能、配置的方便性有很重要的影響,目前大致上有JK1.x,JK2, mod_webapp三種connector可以使用.JK使用比較廣泛.JK2是JK1.x的改進,比較新。這三種Connector的配置方法大相徑庭,在參考別人的整合方法時一定要注意. 另外,Tomcat是用Java寫的,所以你的系統(tǒng)必須有JDK或JRE. 我的OS是Solaris9,用到的版本分別是Apache 2.0.47 ; Tomcat 5.0.27 ; Jk2 2.0.4; J2sdk 1.4.2_05.
現(xiàn)在開始: 好了,先去下載要用到了軟件,它們都是for free的. Apache ,Tomcat ,Jk2在Apache的官方網(wǎng)站上都可以下的到. http://www.apache.org JDK 在Sun的網(wǎng)站上. http://www.sun.com 以下是我下載到的: httpd-2.0.47.tar.gz jakarta-tomcat-5.0.27.tar.gz jakarta-tomcat-connectors-jk2-src-current.tar.gz j2sdk-1_4_2_05-solaris-sparc.tar.Z (32bit的, 先安裝這 個再安裝下面64bit的) j2sdk-1_4_2_05-solaris-sparcv9.tar.Z(最后兩個是Solaris的Package,對于其他的系統(tǒng)下可用,不過可以下載相應的版本.) 安裝Apache 對于Apache的安裝,有很多帖子都介紹過, 安裝時注意一點:一定要有 --enable-so 加載so模塊,這是整合要用到的. gzip –d httpd-2.0.47.tar.gz tar xvf httpd-2.0.47.tar cd httpd-2.0.47 ./configure – with-layout=Apache2 -prefix=/path to install directory -enable-so make make install 好了,Apache的安裝完成了.
我的安裝目錄是/usr/local/apahce2.修改apache的http.conf ServerName name OfYourServer Group nogroup 進入/usr/local/apache2/bin 執(zhí)行 ./apachectl start 啟動apache (./apachectl stop 停止) 如果成功,通過瀏覽器就可以看到Apche的默認主頁了 http://ServerIp (httpd –l 可以列出已經(jīng)加載的模塊) 安裝JDK Java是SUN開發(fā)的,所以它在自家的OS上預裝了java的運行環(huán)境. java -version 可以看到java的版本號.Soaris9是1.4.1_01a uncompress j2sdk-1_4_2_05-solaris-sparc.tar.Z tar xvf j2sdk-1_4_2_05-solaris-sparc.tar 解壓后得到幾個SUNW開頭的文件,把它們放到一個目錄下 先要將以前的java包刪除! pkgrm SUNWj3dmo SUNWj3man SUNWj3dev SUNWj3rt pkgrm SUNWlj3dv SUNWlj3rt (如果有的話,pkginfo | grep SUNWj3 查看) 添加新包, pkgadd –d ./ (在剛才放解壓的幾個SUNW目錄) 再安裝64bit的包, 同樣 uncompress j2sdk-1_4_2_05-solaris-sparcv9.tar.Z tar xvf j2sdk-1_4_2_05-solaris-sparcv9.tar pkgadd –d ./ 好了,安裝完了.
java –version ,看版本號變了! 詳細的說明,參考SUN網(wǎng)站上的文檔! 安裝Tomcat 在安裝Tomcat之前,要設置兩個環(huán)境變量: JAVA_HOME =/usr/j2se CLASSPATH =/usr/j2se/lib:/usr/j2se/jre/lib (這是針對Solaris9的,Solaris8 /usr/java1.2; Solaris7 /usr/java1.1) (其他的系統(tǒng)下,是你安裝JDK的目錄) export JAVA_HOME CLASSPATH 有了,這兩個變量,Tomcat才能安裝. jakarta-tomcat-5.0.27.tar.gz 是個二進制文件解壓后解可用. 我把它解壓到了,/usr/local/ src/jakarta-tomcat-5.0.27 建一個鏈接 ln –s /usr/local/ src/jakarta-tomcat-5.0.27 /usr/local/tomcat 這樣以后升級就方便了,剛才的apache也應該這么做. 設置相應的變量: CATALINA_HOME=/usr/local/tomcat CATALINA_BASE=/usr/local/tomcat export CATALINA_HOME CATALINA_BASE 進入/usr/local/tomcat/bin ./startup.sh 啟動tomcat 通過瀏覽器 http://SeverIP:8080 看到了一只貓!(5.0才有吧,4.X沒看到) port 8080 是Tomcat的默認端口 安裝JK2 如果以上安裝順利的話,繼續(xù)安裝JK2吧 先解壓到/usr/local/src下得到了, jakarta-tomcat-connectors-jk2-2.0.4-src 進入目錄, cd jk/native2 ./buildconf.sh (我沒成功,跳過了) ./configure&--with-apxs2=/usr/local/apache2/bin/apxs& make make install (如果不成功,把mod_jk2.so&拷貝到Apache得modules下) cp&jk/build/jk2/apache2/mod_jk2.so& /usr/local/apache2/modules 還有一個jkjni.so&,說是用來啟動Apache 時自動啟動Tomcat的,如果就也拷貝吧.我沒有看到! cp&jk/build/jk2/apache2/jkjni.so&/usr/local/apache2/modules 整合 步入正題了,整合涉及到了4個配置文件 Apache 的 httpd.conf 和 workers2.properties (創(chuàng)建) Tomcat 的 server.xml 和 jk2.properties (不過這兩個文件,我沒改過也成功了) &httpd.conf 在Apache中添加mod_jk2.so模塊: LoadModule&jk2_module&modules/mod_jk2.so workers2.properties: 這是我的workers2.properties #&Example&socket&channel,&override&port&and&host [channel.socket:localhost:8009] port=8009 host=127.0.0.1 #&define&the&worker [ajp13:localhost:8009] channel=channel.socket:localhost:8009 #&Uri&mapping [uri:/jsp-examples/*] worker=ajp13:localhost:8009 好了,重啟Apache和Tomcat http://ServerIp/jsp-examples 如果看到的效果和 http://ServerIp:8080/jsp-examples 一樣就說明整合成功.