整合Apache+Tomcat
發表于:2007-05-25來源:作者:點擊數:
標簽:
寫在前面: Tomcat是Sun和Apache合作,做出來的JSPServer,支持Servlet和JSP.Tomcat本身可以做為WebServer,當處理靜態頁面時,Tomcat不如Apache迅速,不象Apache一樣可配置,強壯.Apache做為最流行的Web 服務器 功能強大,高效,但并不支持JSP及servlet,所以通常的做
寫在前面:
Tomcat是Sun和Apache合作, 做出來的JSP Server, 支持Servlet 和JSP.Tomcat本身可以做為Web Server, 當處理靜態頁面時,Tomcat不如Apache迅速,不象Apache一樣可配置,強壯. Apache做為最流行的Web
服務器功能強大,高效,但并不支持JSP及servlet,所以通常的做法是把它們整合起來,讓Apache處理靜態頁面,而把動態頁面的請求交給Tomcat處理,發揮各自的優勢. 通過在Apache中加載整合模塊和進行設置,Apache就能夠根據URL,把不屬于自己的請求轉給Tomcat.
要讓Apache和Tomcat聯合工作,還必需有一個連接器把它們聯系起來.Connector對于
性能、配置的方便性有很重要的影響,目前大致上有JK1.x,JK2,mod_webapp三種connector可以使用.JK使用比較廣泛.JK2是JK1.x的改進,比較新。這三種Connector的配置方法大相徑庭,在參考別人的整合方法時一定要注意.
另外,Tomcat是用Java寫的,所以你的系統必須有JDK或JRE.
我的OS是Solaris9,用到的版本分別是Apache 2.0.47 ; Tomcat 5.0.27 ; Jk2 2.0.4; J2sdk 1.4.2_05
現在開始:
好了,先去
下載要用到了軟件,它們都是for free的.
Apache ,Tomcat ,Jk2在Apache的官方網站上都可以下的到. http://www.apache.org
JDK 在Sun的網站上. 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,對于其他的系統下可用,不過可以下載相應的版本.)
安裝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 執行 ./apachectl start 啟動apache (./apachectl stop 停止)
如果成功,通過瀏覽器就可以看到Apche的默認主頁了 http://ServerIp
(httpd –l 可以列出已經加載的模塊)
安裝JDK
Java是SUN
開發的,所以它在自家的OS上預裝了
java的運行環境.
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網站上的文檔!
安裝Tomcat
在安裝Tomcat之前,要設置兩個環境變量:
JAVA_HOME =/usr/j2se
CLASSPATH =/usr/j2se/lib:/usr/j2se/jre/lib
(這是針對Solaris9的,Solaris8 /usr/java1.2; Solaris7 /usr/java1.1)
(其他的系統下,是你安裝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
如果以上安裝順利的話,繼續安裝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 (創建)
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 一樣就說明整合成功.
smallcar 回復于:2004-07-27 15:22:34
|
呵呵,贊一個先!
|
zzzbbb 回復于:2004-07-28 09:55:19
|
哈哈,我正要用。先謝謝了?。。。。。。。?!
|
DemonnomeD 回復于:2004-08-02 15:43:07
|
好啊好啊
|
gtbear 回復于:2004-09-07 16:46:49
|
我也贊一個
|
Ice_D. 回復于:2004-09-07 20:21:45
|
好?。?! :em02:
俺贊成!正好俺不懂,學習學習!好好!太感謝了哦◎
|
bxz1207 回復于:2004-09-10 14:40:55
|
[quote:0321aa7ed5="Ice_D."]好?。?! :em02:
俺贊成!正好俺不懂,學習學習!好好!太感謝了哦◎[/quote:0321aa7ed5]
我在ibm aix上,不是啟動,為何?
bash-2.05b# bin/apachectl -t
bin/apachectl[97]: 336026 Segmentation fault(coredump)
我使用的是jk2連接器,請指教!謝謝??!
|
mi9 回復于:2004-10-13 11:45:16
|
想占用過高時自動重啟該如何配置呢
|
原文轉自:http://www.anti-gravitydesign.com
国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97
|