Tomcat 4.0+apache 1.3完美整合

發表于:2007-05-25來源:作者:點擊數: 標簽:Tomcat4.0+apache1.3完美整合
1.Tomcat缺省的jsp文件必須放置在examples目錄下,難道jsp文件只能放在examples下嗎? 2. 訪問jsp只能用xxxx.com:8080訪問嗎? 本文討論如何結合Tomcat和Apache及其他腳本程序如 PHP 混合使用情況,如果一臺 服務器 只運行jsp,那解決辦法很簡單:只要將 server.x

1.Tomcat缺省的jsp文件必須放置在examples目錄下,難道jsp文件只能放在examples下嗎?
2. 訪問jsp只能用xxxx.com:8080訪問嗎?

本文討論如何結合Tomcat和Apache及其他腳本程序如PHP混合使用情況,如果一臺服務器只運行jsp,那解決辦法很簡單:只要將server.xml中8080端口改成80就可以,或將apache中的httpd.conf的80改成8080也可以.可以參考: Using Apache Tomcat 4

Tomcat 3.23中很好做,相關文章介紹不少,Tomcat 4.0就不一樣了,本人經過試驗,摸索出解決這兩個問題的簡單方式,這種方式可以和apache結合在一起,假設域名主機是sign.jdon.com 可以實現http://sign.jdon.com/訪問所有JSP文件,這一結果是很多朋友希望達到的,我下面介紹一下.

分兩步: 配置server.xml 和 配置httpd.conf:

配置server.xml
首先介紹一下tomcat conf下的server.xml 我們的動作主要是在這里面操作:
server.xml有兩部分組成:
1. service=Tomcat-Standalone 這是Tomcat標準啟動服務,使用端口8080訪問
2. service=Tomcat-Apache 這是和apache整合部分,使用80008端口訪問 ,同時需要在httpd.conf中加載mod_webapp.so

在上面兩個service段中加入(在哪個service加入取決于你需要是以sign.jdon.com:8080 還是以sign.jdon.com/訪問):
我們是想以后者訪問,就在service=Tomcat-Apache中加入:

clearcase/" target="_blank" >cccccc" cellspacing="5" cellpadding="2" width="100%" align="center" bgcolor="#ffff99" border="0">
<Host name="虛擬主機域名" debug="0" appBase="應用基本目錄" unpackWARs="true">
<Context path="容器URL路徑" docBase="容器目錄" debug="0" reloadable="true">
<Logger className="org.apache.catalina.logger.FileLogger"
prefix="自己的log文件名." suffix=".txt"
timestamp="true"/>
</Context> </Host>



1. reloadable="true"確保你每次上傳bean或servlet到WEB-INF/classes時,系統自動裝載最新的.

2. docBase="" 是你自己jsp目錄的實際位置 ,如果是winNT, 可以是c:/jserv

3. Logger 是用來將/jserv的啟動狀態單獨輸出一個log文件中 這里是localhost_jserv_log,這個文件在Tomcat 的logs目錄下??梢杂脕肀O視你的/jserv啟動了沒有。

4.欠缺servlet或bean是放置在自己目錄下的WEB-INF/classes中,建議你將eamples目錄下的WEB-INF原封不動的拷貝過來,省事。你要修改這個,就修改web.xml 這些 上面推薦的英文文章中有介紹.

我的server.xml是這樣:

 

<Service name="Tomcat-Apache">

<Connector className="org.apache.catalina.connector.warp.WarpConnector"
port="8008" minProcessors="5" maxProcessors="75"
enableLookups="true"
acceptCount="10" debug="0"/>

<!-- Replace "localhost" with what your Apache "ServerName" is set to -->
<Engine className="org.apache.catalina.connector.warp.WarpEngine"
name="Apache" debug="0" appBase="webapps">

<!-- Global logger unless overridden at lower levels -->
<Logger className="org.apache.catalina.logger.FileLogger" prefix="apache_log." suffix=".txt" timestamp="true"/>

<!-- Because this Realm is here, an instance will be shared globally -->
<Realm className="org.apache.catalina.realm.MemoryRealm" />

<!--下面是我加入的-->
<Host name="sign.jdon.com" debug="0" appBase="/home/bqlr" unpackWARs="true">
<Context path="/" docBase="/home/bqlr/sign" debug="0" reloadable="true">
<Logger className="org.apache.catalina.logger.FileLogger"
prefix="jdon.com_log." suffix=".txt"
timestamp="true"/>
</Context>
</Host>

 

</Engine>

</Service>

 

 

配置httpd.conf

設定sign.jdon.com 對應我的目錄/home/bqlr/sign/ sign.jdon.com是虛擬主機名,我的部署方法可以為特定虛擬主機域名提供JSP功能:
在自己的apache 的conf下的httpd.conf加入:

LoadModule webapp_module libexec/mod_webapp.so
AddModule mod_webapp.c
WebAppConnection conn warp sign.jdon.com:8008

<VirtualHost 61.119.57.108>
ServerAdmin webmaster@jdon.com
DocumentRoot /home/bqlr/sign
ServerName sign.jdon.com
# WebAppDeploy examples conn /examples/
WebAppDeploy sign conn /
</VirtualHost>

 

1.本方法是適合apache 1.3版本的 適合glibc2.1 我在RedHat 7.2 7.1 7.0 6.2 6.1都測試通過

2.如果你的linux安裝的是glibc2.1 就要自己下載mod_webapp.src自己編譯,編譯前,要先安裝其目錄下的APR.
這里是我編譯好正在使用的 mod_webapp.so ,可以下載直接copy到apache的libexec目錄下

3.使用httpd configtest 測試httpd.conf可否啟動,如果出現無效LoadModule提示 是因為你的apache沒有使用module=so編譯,重新編譯apache 網絡上其他有介紹.

4.在/home/bqlr/sign下安裝WEB-INF/classes目錄 最簡單的辦法是copy -R tomcat/wepapps/examples/WEB-INF 到/home/bqlr/sign下,以后自己編譯的bean或servlet放在這個目錄下 以后我有空 我公布我的jsp/bean的編程舉例.

最后 重新啟動Tomcat 和 apache 你可以使用sign.jdon.com訪問所有的Jsp 和servlet了.

參考文章:
installing tomcat on apache
Tomcat How-to
Using Apache Tomcat 4
Deploying Web Applications to Tomcat

Deploying Web Applications to Tomcat

原文轉自:http://www.anti-gravitydesign.com

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97