windows xp下Apache2.2.11整合Tomcat6.0.20(叢集模式&無叢集模式)

來源:互聯網
上載者:User
一、使用mod_jk.so方式
   
    1.無叢集方式
      1)下載、安裝Apache2.2.11,Tomcat6.0.20略
     
      2)下載mod_jk-1.2.28-httpd-2.2.3.so改名為mod_jk.so放到%APACHE_HOME%\modules下(不改名會出錯,不知道為什麼)
     
      3)開啟%APACHE_HOME%\conf\httpd.conf,找到最末一個Include節點,加入mod-jk_nocluster.conf
     
      4)在%APACHE_HOME%\conf\建立mod-jk_nocluster.conf,加入以下內容:
         
    LoadModule jk_module modules/mod_jk.so    JkWorkersFile conf/workers_nocluster.properties    JkLogFile logs/mod_jk_nocluster.log    JkLogLevel info    JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "    JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories    JkRequestLogFormat "%w %V %T"    JkMount /* ajp13     #關掉主機Lookup,如果為on,很影響效能,可以有10多秒鐘的延遲。
    HostnameLookups Off       5)在%APACHE_HOME%\conf\建立workers_nocluster.properties,加入以下內容:
     
       worker.list=ajp13
    worker.maintain=60    worker.ajp13.port=8009
    worker.ajp13.host=localhost
    worker.ajp13.type=ajp13
    worker.ajp13.lbfactor=1
    
   6)啟動Apache,tomcat,在地址欄輸入http://localhost看到tomcat畫面成功了
   
  2.使用叢集(以兩個tomcat為例) 
   
    1)、2)同上
   
    3)開啟%APACHE_HOME%\conf\httpd.conf,找到最末一個Include節點,更改mod-jk_nocluster.conf為mod-jk_cluster.conf      4)在%APACHE_HOME%\conf\建立mod-jk_cluster.conf,加入以下內容:
      
     
    LoadModule jk_module modules/mod_jk.so    JkWorkersFile conf/workers_cluster.properties    JkLogFile logs/mod_jk_cluster.log    JkLogLevel info    JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "    JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories    JkRequestLogFormat "%w %V %T"        JkMount /* controller      HostnameLookups Off
    
   5)在%APACHE_HOME%\conf\建立workers_cluster.properties,加入以下內容:
   
   worker.list = controller,tomcat1,tomcat2  #server 列表
   #========tomcat1========
   worker.tomcat1.port=18109         #ajp13 連接埠號碼,在tomcat下server.xml配置,預設8009
   worker.tomcat1.host=localhost  #tomcat的主機地址,如不為本機,請填寫ip地址
   worker.tomcat1.type=ajp13
   worker.tomcat1.lbfactor = 1   #server的加權比重,值越高,分得的請求越多
   #worker.tomcat1.redirect=tomcat2 #是在cluster環境之下,當tomcat1掛點或無回應,jk會將request導向這個指令指定的其他worker作處理。
   #========tomcat2========
   worker.tomcat2.port=18209       #ajp13 連接埠號碼,在tomcat下server.xml配置,預設8009
   worker.tomcat2.host=localhost  #tomcat的主機地址,如不為本機,請填寫ip地址
   worker.tomcat2.type=ajp13
   worker.tomcat2.lbfactor = 1   #server的加權比重,值越高,分得的請求越多
   #worker.tomcat2.activation=disabled #   #========controller,負載平衡控制器========
   worker.controller.type=lb
   worker.controller.balanced_workers=tomcat1,tomcat2   #指定分擔請求的tomcat
   worker.controller.sticky_session=1
   
   6)修改tomcat1設定檔server.xml,tomcat2配置修改地方同tomcat1,僅需注意相關連接埠號碼,在同一台伺服器上時不能重複
   
     以下列出需修改節點地方:
    
     #預設為8005
     <Server port="8105" shutdown="SHUTDOWN">
    
     #預設8080,此處可根據需求修改線程並發等
     <Connector port="8180" ...>
    
     #預設8009,
     <Connector port="8109" protocol="AJP/1.3" redirectPort="8443" />
    
     #name可為Standalone
     <Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcat1">
    
      <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"
      channelSendOptions="6">
  <Manager
   className="org.apache.catalina.ha.session.BackupManager"
   expireSessionsOnShutdown="false" notifyListenersOnReplication="true"
   mapSendOptions="6" />
  <!--
   <Manager className="org.apache.catalina.ha.session.DeltaManager"
   expireSessionsOnShutdown="false"
   notifyListenersOnReplication="true"/>
  -->
  <Channel
   className="org.apache.catalina.tribes.group.GroupChannel">
   <Membership
    className="org.apache.catalina.tribes.membership.McastService"
    mcastBindAddress="127.0.0.1" #安裝了VPN、svn等,會導致綁定失敗需加上此句
    address="228.0.0.4" port="45564"
    frequency="500" dropTime="3000" />
   <Receiver
    className="org.apache.catalina.tribes.transport.nio.NioReceiver"
    address="auto" port="4001" selectorTimeout="100" maxThreads="6" />
   <Sender
    className="org.apache.catalina.tribes.transport.ReplicationTransmitter">
    <Transport
     className="org.apache.catalina.tribes.transport.nio.PooledParallelSender" />
   </Sender>
   <Interceptor
    className="org.apache.catalina.tribes.group.interceptors.TcpFailureDetector" />
   <Interceptor
    className="org.apache.catalina.tribes.group.interceptors.MessageDispatch15Interceptor" />
   <Interceptor
    className="org.apache.catalina.tribes.group.interceptors.ThroughputInterceptor" />
  </Channel>
  <Valve className="org.apache.catalina.ha.tcp.ReplicationValve"
   filter=".*\.gif;.*\.js;.*\.jpg;.*\.png;.*\.htm;.*\.html;.*\.css;.*\.txt;" />  <ClusterListener
   className="org.apache.catalina.ha.session.ClusterSessionListener" />
 </Cluster>
 
 在<Host>節點加入
 <Deployer className="org.apache.catalina.ha.deploy.FarmWarDeployer"
  tempDir="/tmp/war-temp/"
  deployDir="/tmp/war-deploy/"
  watchDir="/tmp/war-listen/"
  watchEnabled="false"/>
  
  7)將Web應用打成war包放到每一個webapps下,確保web.xml中加了
  <display-name>xxx/display-name>
   <distributable />
   或者直接放到tomcat的web.xml中
  
   至此mod-jk.so方式全配好了,啟動服務就OK了!
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.