Apache負載均衡+Tomcat集群

          核心提示:第一步: 在http://www.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/win32/jk-1.2.6 下載mod_jk_1.2.6_2.0.50.dll文件,將其改名為mod_jk.so后放到apache2/modules目錄中。 第二步: workers.properties: workers.tomcat_home=D:\My_Work\Tomcat\

          第一步: 在http://www.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/win32/jk-1.2.6?
          ????????????????????????????下載mod_jk_1.2.6_2.0.50.dll文件,將其改名為mod_jk.so后放到apache2/modules目錄中。?
          第二步: workers.properties:
          workers.tomcat_home=D:\My_Work\Tomcat\apache-tomcat-6.0.14
          workers.java_home=D:\Program Files\Java\jdk1.5.0_07
          ps=\
          worker.list=ajp13
          worker.ajp13.port=8009
          worker.ajp13.host=localhost
          worker.ajp13.type=ajp13
          worker.ajp13.lbfactor=1?

          第三步:用記事本打開apache/conf/httpd.conf文件末尾,添加下面一段:
          ????
          LoadModule jk_module modules/mod_jk.so
          JkWorkersFile "D:\Program Files\Apache Software Foundation\Apache2.2\modules\workers.properties"
          #ServerAdmin wangguiwei@gmail.com???
          #ServerName localhost
          DirectoryIndex index.html index.htm index.jsp
          JkMount /* ajp13???
          JkAutoAlias "D:\My_Work\Tomcat\apache-tomcat-6.0.14\webapps"??
          Options Indexes FollowSymLinks
          #allow from all?
          ????
          保存,停止apache服務,在啟動,就可以將新配置應用了。
          ******************************
          一.Apache與Tomcat介紹

          ??? Apache是當前使用最為廣泛的WWW服務器軟件,具有相當強大的靜態HTML處理的能力。

          ???? Tomcat服務器是一個免費的開放源代碼的Web應用服務器,它是Apache軟件基金會(Apache Software Foundation)的Jakarta項目中的一個核心項目,由Apache、Sun和?? 其他一些公司及個人共同開發而成。由于有了Sun的參與和支持,最新的Servlet和JSP?? 規范總是能在Tomcat中得到體現,Tomcat5支持最新的Servlet 2.4和JSP 2.0規范。因為Tomcat技術先進、性能穩定,而且免費,因而深受Java愛好者的喜愛并得到了部分軟件開發商的認可,成為目前比較流行的Web應用服務器。

          Tomcat和IIS、Apache等Web服務器一樣,具有處理HTML頁面的功能,另外它還是一個Servlet和JSP容器,獨立的Servlet容器是Tomcat的默認模式。
          二.為什么需要整合

          整合的最主要原因是為了在現有的硬件條件下提供最大的負載。

          如果單獨使用Tomcat做JSP服務器,在工作效率上會存在問題,Tomcat處理靜態HTML的能力不如Apache,并且所能承受的最大并發連接數也有一定的限制;

          在測試中,當并發連接較多時,Tomcat就會處于“僵死”狀態,對后繼的請求連接失去響應。所以現在提出一個“整合”解決方案:將html與 jsp的功能部分進行明確分工,讓tomcat只處理jsp部分,其它的由apache這個web server處理。Apache與Tomcat各司其職,那么服務器的整體效率就能夠得到提升。
          三.整合的基本原理

          作為Apache下面的子項目,Tomcat 與 Apache之間有著天然的聯系。在實際操作中,主要是Apache作為主服務器運行,當監聽到有jsp或者servlet的請求時,將請求轉發給 tomcat服務器,由tomcat服務器進行解析后,發回apache,再由apache發回用戶。

          在tomcat中有兩個監聽的端口,一個是8080用于提供web服務,一個是8009用于監聽來自于apache的請求。當apache收到 jsp或者servlet請求時,就向tomcat 的8009端口發送請求,交由tomcat處理后,再返回給apache,由apache返回給客戶。
          四.安裝Apache與Tomcat服務器

          ?? 操作系統環境:Windows xp home

          ?? 安裝文件:apache-tomcat-6.0.14.exe apache_2.2.6-win32-x86-openssl-0.9.8e.msi mod_jk-apache-2.2.4.so
            到apache 與tomcat 的官方網站上面下載apache 與tomcat,安裝apache與tomcat

          ???? 到http://www.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/win32下載 mod_jk-apache-2.2.4.so

          ???? 將mod_jk-apache-2.2.4.so拷貝到apache安裝目錄下面的modules目錄中。

          五.修改Tomcat設置

          ???? 在tomcat的conf目錄下建一個workers.properties的文本文件,添加如下配置?

          ???? workers.tomcat_home="tomcat安裝目錄"

          ???? #讓mod_jk模塊知道Tomcat的安裝路徑

          ???? workers.java_home="java安裝目錄"

          ???? #讓mod_jk模塊知道jdk路徑

          ???? ps="

          ???? worker.list=ajp13

          ???? #這里是關鍵,名字要和httpd.conf的一致。如果這里改了httpd.conf也要改。

          ???? worker.ajp13.port=8009

          ???? #工作端口,tomcat的jk監聽端口,可以查看Server.xml中有port="8009"???????????

          ???? worker.ajp13.host=localhost

          ???? #Tomcat所在機器,如果安裝在與apache不同的機器則需要設置IP

          ???? worker.ajp13.type=ajp13

          ???? #類型,好像不能改,會出問題

          ???? worker.ajp13.lbfactor=1

          ???? #負載平衡因子???

          六.修改Apache設置

          修改apache安裝目錄下conf目錄下的httpd.conf,增加如下配置

            LoadModule jk_module modules/mod_jk-apache-2.2.4.so

          ?????? JkWorkersFile "tomcat安裝目錄/conf/workers.properties"

          ??  JkLogFile "apache安裝目錄/logs/mod_jk.log"?

          ????? JkMount /*.jsp ajp13

          ????? JkMount /*.do ajp13

          七.整合操作說明
            mod_jk-apache-2.2.4.so相當于是apache與tomcat之間的橋梁一樣,所以在apache的配置文件下面加上LoadModule jk_module modules/mod_jk-apache-2.2.4.so 將此模塊載入。

          JkWorkersFile "tomcat安裝目錄/conf/workers.properties" 說明了mod_jk-apache-2.2.4.so 如何工作,當出現要轉發時,將請求發送到那里進行處理,代表了一系列的工作參數。
          ??????JkLogFile "apache安裝目錄/logs/mod_jk.log" 設定日志的地址。

          JkMount 說明了將什么樣的URL進行發送到tomcat進行處理。JkMount /*.jsp ajp13 說明了要將jsp請求發到tomcat,JkMount /*.do ajp13說明了要將.do型的servlet發到tomcat進行處理。在實際的分發中,如果servlet命名不帶后綴的話,將無法被識別,也就無法進行處理。
          ?
          ?八.結束語
          ?????? 在查閱了不少文章之后,我仔細的了解了下這兩者進行整合的過程,網上很多文章講的整合應該不算是真正意義上面的整合,希望此文章能夠為正為這些問題苦惱的同行們解決一點小困難……。

          posted on 2010-08-18 23:24 飛熊 閱讀(370) 評論(0)  編輯  收藏 所屬分類: 服務器

          <2010年8月>
          25262728293031
          1234567
          891011121314
          15161718192021
          22232425262728
          2930311234

          導航

          統計

          常用鏈接

          留言簿(1)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          收藏夾

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 小金县| 陈巴尔虎旗| 建水县| 无棣县| 利辛县| 朝阳县| 大安市| 洪江市| 克山县| 九江市| 会理县| 麻江县| 延安市| 印江| 斗六市| 中宁县| 怀柔区| 怀远县| 胶南市| 舟山市| 新昌县| 故城县| 平凉市| 敦煌市| 潍坊市| 朝阳市| 丁青县| 德格县| 南汇区| 普兰县| 达拉特旗| 炉霍县| 吉木萨尔县| 大姚县| 巴马| 桦川县| 江口县| 江孜县| 通道| 紫云| 云林县|