導(dǎo)航

          <2025年7月>
          293012345
          6789101112
          13141516171819
          20212223242526
          272829303112
          3456789

          文章分類(10)

          收藏夾(2)

          隨筆檔案(10)

          文章檔案(12)

          Tomcat 4.0+apache 1.3完美整合

          板橋里人 jdon.com 2001/10

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

          本文討論如何結(jié)合Tomcat和Apache及其他腳本程序如PHP混合使用情況,如果一臺(tái)服務(wù)器只運(yùn)行jsp,那解決辦法很簡(jiǎn)單:只要將server.xml中8080端口改成80就可以,或?qū)pache中的httpd.conf的80改成8080也可以.可以參考: Using Apache Tomcat 4

          Tomcat 3.23中很好做,相關(guān)文章介紹不少,Tomcat 4.0就不一樣了,本人經(jīng)過(guò)試驗(yàn),摸索出解決這兩個(gè)問(wèn)題的簡(jiǎn)單方式,這種方式可以和apache結(jié)合在一起,假設(shè)域名主機(jī)是sign.jdon.com 可以實(shí)現(xiàn)http://sign.jdon.com/訪問(wèn)所有JSP文件,這一結(jié)果是很多朋友希望達(dá)到的,我下面介紹一下.

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

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

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

          <Host name="虛擬主機(jī)域名" debug="0" appBase="應(yīng)用基本目錄" 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時(shí),系統(tǒng)自動(dòng)裝載最新的.

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

          3. Logger 是用來(lái)將/jserv的啟動(dòng)狀態(tài)單獨(dú)輸出一個(gè)log文件中 這里是localhost_jserv_log,這個(gè)文件在Tomcat 的logs目錄下??梢杂脕?lái)監(jiān)視你的/jserv啟動(dòng)了沒(méi)有。

          4.欠缺servlet或bean是放置在自己目錄下的WEB-INF/classes中,建議你將eamples目錄下的WEB-INF原封不動(dòng)的拷貝過(guò)來(lái),省事。你要修改這個(gè),就修改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

          設(shè)定sign.jdon.com 對(duì)應(yīng)我的目錄/home/bqlr/sign/ sign.jdon.com是虛擬主機(jī)名,我的部署方法可以為特定虛擬主機(jī)域名提供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都測(cè)試通過(guò)

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

          3.使用httpd configtest 測(cè)試httpd.conf可否啟動(dòng),如果出現(xiàn)無(wú)效LoadModule提示 是因?yàn)槟愕腶pache沒(méi)有使用module=so編譯,重新編譯apache 網(wǎng)絡(luò)上其他有介紹.

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

          最后 重新啟動(dòng)Tomcat 和 apache 你可以使用sign.jdon.com訪問(wèn)所有的Jsp 和servlet了.

          posted on 2005-12-08 10:36 飛揚(yáng) 閱讀(253) 評(píng)論(0)  編輯  收藏 所屬分類: Java

          統(tǒng)計(jì)

          FAQ網(wǎng)站

          JSP/Java/Servlet開發(fā)工具

          JSP/Java/Servlet技術(shù)著名網(wǎng)站

          JSP/Servlet應(yīng)用程序站點(diǎn)

          優(yōu)選博客

          主站蜘蛛池模板: 天祝| 克什克腾旗| 诏安县| 茶陵县| 上林县| 郴州市| 司法| 韶山市| 自贡市| 枣强县| 安徽省| 揭阳市| 锦屏县| 苍梧县| 尼玛县| 罗平县| 黄陵县| 麻江县| 永顺县| 芜湖县| 杭锦旗| 周至县| 偃师市| 淅川县| 张家口市| 鹿泉市| 吴川市| 崇明县| 黄平县| 南和县| 营山县| 兖州市| 正蓝旗| 西华县| 永宁县| 靖宇县| 临沧市| 深水埗区| 兰溪市| 修文县| 庆城县|