Sealyu

          --- 博客已遷移至: http://www.sealyu.com/blog

            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
            618 隨筆 :: 87 文章 :: 225 評論 :: 0 Trackbacks
          <2008年7月>
          293012345
          6789101112
          13141516171819
          20212223242526
          272829303112
          3456789

          常用鏈接

          留言簿(14)

          隨筆分類

          隨筆檔案

          友情鏈接

          搜索

          積分與排名

          最新評論

          閱讀排行榜

          評論排行榜

          集成 Apache 和 Tomcat 后,Tomcat 的應用可以通過 Apache 來訪問。這個功能使用了一個 mod_jk.so 的模塊,有關這個方面的配置曾經困擾了我很久,我相信也給不少人帶來了麻煩。這次我要說的是一種更加簡便的配置方式:自動化配置。

          自動化配置的前提是只有一個 Tomcat 實例和 Apache 在同一臺機器上運行。自動化配置是通過在 Tomcat 的配置文件 server.xml 中的 Engine 元素中添加相應的 ApacheConfig 監聽器(Listener)來實現的。

          下面是具體的配置:

          第一步:下載并安裝 Apache httpd和 Tomcat

          下載并安裝 Apache 2.2.9 和 Tomcat 5.5.26,假設他們的安裝目錄如下:

          D:/apps/Apache/Apache2.2

          D:/apps/Apache/apache-tomcat-5.5.26

          這兩個服務器可以在以下地址下載:

          Tomcat:

          http://apache.osuosl.org/tomcat/tomcat-5/v5.5.26/bin/apache-tomcat-5.5.26.zip

          Apache:

          http://apache.osuosl.org/httpd/binaries/win32/apache_2.2.9-win32-x86-openssl-0.9.8h-r2.msi

          第二步:下載并安裝 mod_jk.so

          mod_jk 的下載地址如下:

          http://apache.osuosl.org/tomcat/tomcat-connectors/jk/binaries/win32/jk-1.2.26/mod_jk-1.2.26-httpd-2.2.4.so

          下載后將其重命名并復制到到 D:/apps/Apache/Apache2.2/modules 下

          第三步:創建 workers.properties 文件

          workers.properties 定義了每個 worker 的類型、協議、端口等信息。如果手上沒有現成的配置文件,可以使用以下最簡單的配置:

          # Define 1 real worker using ajp13

          worker.list=worker1

          # Set properties for worker1 (ajp13)

          worker.worker1.type=ajp13

          worker.worker1.host=localhost

          worker.worker1.port=8009

          將這個文件放在 Tomcat 下的 conf/jk 目錄中,如果放在其他地方,則需要在 server.xml 的配置中明確指定。

          第四步:修改 Tomcat server.xml 文件

          找到下面這行內容并在后面添加配置信息:

             <Engine name="Catalina" defaultHost="localhost">

          配置信息如下:

              <Listener className="org.apache.jk.config.ApacheConfig"

                 workersConfig="conf/workers.properties"

                 modJk="D:/apps/Apache/Apache2.2/modules/mod_jk.so"

                 jkLog="logs/mod_jk.log"

                 jkDebug="info"

                 jkWorker="worker1"

                 noRoot="true"

              />

          其中:

          • workersConfig 是 workers.properties 的位置,這里我沒有使用默認的位置,所以在此明確說明了。
          • modJk:定義了 mod_jk.so 的具體位置
          • jkLog 定義了 mod_jk.log 的位置,這里是 tomcat 下的 logs 目錄
          • jkDebug:定義日志級別,可以使用的級別有:debug, info, error, 或者 emerg,默認為 emerg
          • jkWorker:定義 worker 的名稱,必須是在 workers.properties 中定義過的名稱,否則可能會出現 internal server error 的錯誤
          • noRoot:如果為 true,則根目錄不會映射到 Tomcat 的根目錄,false 則映射到 Tomcat 根目錄,如果是 false 的話,http://localhost/ 會打開 Tomcat 的歡迎頁面(ROOT)

          第五步:修改 Apache httpd.conf 文件

          找到 httpd.conf 文件并在最后加上如下配置:

          #To be added at the end of your httpd.conf

          Include $TOMCAT_HOME/conf/auto/mod_jk.conf

          要注意的是,這里 Include 后面的路徑必須正確,這里 $TOMCAT_HOME 是 Tomcat 安裝目錄,D:/apps/Apache/apache-tomcat-5.5.26。

          第六步:重啟 Tomcat 并自動生成 mod_jk.conf

          重啟 Tomcat,重啟成功后會在其 conf 下面生成 mod_jk.conf 文件,這個配置文件就是在 httpd.conf 中要用到的那個,這個文件的路徑必須和在 httpd.conf 中的一致。下面是生成的一個mod_jk.conf:

          ########## Auto generated on Sun Jun 29 11:21:57 CST 2008##########

          <IfModule !mod_jk.c>

           LoadModule jk_module "D:/apps/Apache/Apache2.2/modules/mod_jk.so"

          </IfModule>

          JkWorkersFile "D:/apps/Apache/apache-tomcat-5.5.26/conf/workers.properties"

          JkLogFile "D:/apps/Apache/apache-tomcat-5.5.26/logs/mod_jk.log"

          JkLogLevel info

          <VirtualHost localhost>

              ServerName localhost

              JkMount /webdav worker1

              JkMount /webdav/* worker1

              JkMount /servlets-examples worker1

              JkMount /servlets-examples/* worker1

              JkMount /tomcat-docs worker1

              JkMount /tomcat-docs/* worker1

              JkMount /jsp-examples worker1

              JkMount /jsp-examples/* worker1

              JkMount /balancer worker1

              JkMount /balancer/* worker1

          </VirtualHost>

          第七步:啟動 Apache 并測試配置

          Apache 啟動完成后,測試如下地址:

          http://localhost/jsp-examples

          如果頁面能正常顯示,說明配置成功!如果出現 internal server error 之類的錯誤,說明上面的配置有誤,需要檢查并測試。

          posted on 2008-07-17 22:27 seal 閱讀(773) 評論(0)  編輯  收藏 所屬分類: web服務器
          主站蜘蛛池模板: 惠州市| 佛坪县| 马鞍山市| 河曲县| 洪湖市| 湄潭县| 高唐县| 基隆市| 通辽市| 宜宾县| 泗阳县| 博野县| 梁山县| 习水县| 太湖县| 虞城县| 蓬溪县| 循化| 错那县| 东乌珠穆沁旗| 天祝| 神木县| 岑巩县| 元阳县| 富民县| 长垣县| 绩溪县| 清水河县| 丹东市| 鄯善县| 应用必备| 江城| 会泽县| 讷河市| 波密县| 将乐县| 卢龙县| 涪陵区| 涞源县| 德兴市| 山丹县|