Apache與Tomcat的安裝與整合之整合篇:

發表于:2007-05-25來源:作者:點擊數: 標簽:Tomcat還是首先apache整合
一.首先還是引用一個別人的帖子,然后做一些說明,不對的地方還請各位指正。 二. 單獨使用 Tomcat 做JSP 服務器 ,在工作效率上會有問題,并且所能承受的最大并發連接數也有一定的限制;經 測試 ,當并發連接較多時,Tomcat就會處于“僵死”狀態,對后繼的請
一.首先還是引用一個別人的帖子,然后做一些說明,不對的地方還請各位指正。
二.
  單獨使用Tomcat做JSP服務器,在工作效率上會有問題,并且所能承受的最大并發連接數也有一定的限制;經測試,當并發連接較多時,Tomcat就會處于“僵死”狀態,對后繼的請求連接失去響應。所以現在就有了一些“整合”解決方案
  將html與jsp的功能部分進行明確分工,讓tomcat只處理jsp部分,其它的由apache,IIS等這些web server處理,由此大大節省了tomcat有限的工作“線程”。
  當然,使用IBM Websphere、BEA Weblogic、JBOSS等這些 J2EE服務器會是一個更好的解決方案,但只有應用EJB才會發揮這些J2EE服務器的強大功能。
  所以在這里,推薦Apache + Tomcat的“黃金組合”。在網上查找了一些資料,然后自己動手實驗,折騰了近1個小時,終于搞掂!現將具體過程總結如下,希望對大家能有所幫助:

  我的運行環境:Windows2k Server SP4 + J2SDK1.42 + Apache2.049 + Tomcat5.019 + SQL server2k
  **準備軟件:
  1、Apache 2.0.49   2、Tomcat 5.0.19   3、Jk2連接器(mod_jk2.so)

  **開始安裝:(這里的安裝路徑是任選的,只要視你的實際情況略做修改即可)
  Apache安裝在H:\Apache\Apache2 下,監聽端口 80;Tomcat在H:\Apache\Tomcat5.0 下,監聽端口 8080;
  兩者都以windows NT服務進行安裝。
  將mod_jk2.so復制到H:\Apache\Apache2\modules目錄下:
  1.編輯H:\Apache\Apache2\conf\httpd.conf文件,在LoadModule那一段代碼中添加:
  LoadModule jk2_module modules/mod_jk2.so
  2.將AddDefaultCharset ISO-8859-1 改為 AddDefaultCharset GB2312 使Apache自動支持中文顯示;
  3.在“虛擬主機配置代碼段”中添加:(此段配置可以根據你的實際情況進行修改)
  <VirtualHost *:80>
    ServerAdmin Pentium4xeon@etang.com
    DocumentRoot "H:/Apache/Tomcat5.0/webapps/ROOT"
    ServerName www.sdg.com
    ErrorLog logs/sdg.com-error_log
    CustomLog logs/sdg.com-aclearcase/" target="_blank" >ccess_log common
  </VirtualHost>

  **編寫workers2.properties文件并加入H:\Apache\Apache2\conf目錄,內容如下:
  [shm] 
  file=${serverRoot}/logs/shm.file 
  size=1048576 
  #The socket channel
  [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] 
  worker=ajp13:localhost:8009

  **由于tomcat5.019安裝時已經有了 jk2.properties 文件,所以在這里就不用自己寫了。(或許這就是高版本的好處之一吧 *^_^*)

  **編寫一個普通的html文件(index.html)與一個jsp文件(test.jsp),放在H:\Apache\Tomcat5.0\webapps\ROOT 下;現在最好重新啟動一下計算機。
  重新啟動以后,啟動apache和tomcat,http://www.sdg.com該是和http://www.sdg.com:8080一樣的了---顯示的都是index.html;
  現在可以測試一下 test.jsp 了,http://www.sdg.com/test.jsp,怎么樣,順利通過了吧?

  **下面測試Tomcat連接池部分,將網站的所有文件(html + jsp + javaBean + servlet)拷貝至H:\Apache\Tomcat5.0\webapps\ROOT 下,配置tomcat的server.xml文件,添加連接池。在我這兒,經過測試,所有的功能部分都能正常工作。

  下載:mod_jk2.so

  *********后**********記*************************
  1. 如果你的主頁是JSP頁面,你還需要配置一項:

  DirectoryIndex index.html index.html.var index.jsp

  加上index.jsp就可以了 *^_^* 

  2. warning:
  ------------**整合以后,工作一直正常,但偶然打開了Apache的 error.log文件,被嚇出一身冷汗~~~~有N多的錯誤,有一行最顯眼兒:
  No such channel port:localhost:8019
.....Ajp13xx failed!

再仔細看了一下 worker2.properties 文件,發現里面有一項設置:
[ajp13:localhost:8019] 
channel=channel.socket:localhost:8009 

錯誤指的8019端口就是這個了~ 隨即將 8019 改為 8009~ 現在再也沒出現這個問題了~看來網上的資料有些時候不一定是最準確的......(可能是筆誤吧~~~) :P

**---由此給大家帶的不便,我深表歉意! 

3. 又發現一個配置上的“小問題”----

虛擬主機有一項配置:DocumentRoot項,如果按照
DocumentRoot "H:\Apache\Tomcat5.0\webapps\ROOT" 配置的話,主機也能正常工作,但如果這時打開 logs/sdg.com-error_log 文件,就會發現有一行錯誤提示:

**warning: "H:\\Apache\\Tomcat5.0\\webapps\\ROOT" doesn't exist!

經嘗試,若改成:
DocumentRoot "H:/Apache/Tomcat5.0/webapps/ROOT"
則完全沒有任何警告信息出現在 error_log文件中~


三.我自己的配置及重要參數說明(winxp+tomcat5.0.14+apache2.0.52):
   tomcat安裝目錄:F:/Tomcat,在webapps有一個應用項目yedongshu
   apache安裝目錄:F:/Apache2052
我的workers2.properties:
[shm]
file=${serverRoot}/logs/shm.file
size=1048576
#The socket channel
[channel.socket:localhost:8009]
port=8009
host=127.0.0.1
#define the worker
[ajp13:localhost:8009]
channel=channel.socket:localhost:8009
# Map the Tomcat examples webapp to the Web server uri space 
[uri:/yedongdshu/WEB-INF/*]
[uri:/*.jsp]
info=Map the whole webapp
關于workers2.properties的說明:
[uri:/yedongdshu/WEB-INF/*]
[uri:/*.jsp]表示遇到javabean,servlet,jsp時,apache統一交給tomcat處理。
我的httpd.conf:
修改安裝目錄下的Apache2\conf\httpd.conf文件,
  1.在LoadModule那一段代碼中添加:
    LoadModule jk2_module modules/mod_jk2.so
  2.將AddDefaultCharset ISO-8859-1 改為 AddDefaultCharset GB2312 使Apache自動支持中文顯示;
  3.在“httpd.conf最后添加:(此段配置可以根據你的實際情況進行修改)
      <VirtualHost *:80>
        ServerAdmin yds@163.com
        DocumentRoot "F:/Tomcat/webapps/yedongshu"
        ServerName 212.20.36.215
        ErrorLog logs/my-error_log
        CustomLog logs/my-access_log common
    </VirtualHost>
 4.如果你的主頁是JSP頁面,你還需要配置一項:
   DirectoryIndex index.html index.html.var index.jsp
我的server.xml(F:/Tomcat/conf/server.xml):
在最后的</Host>前面加上一行:<Context path="" docBase="yedongshu" debug="0"/>
path表示你訪問時用到的目錄,docBase表示你的應用項目,這里我就可以用http://212.20.36.215直接訪問了.

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

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