|  
   環(huán)境: 
  操作系統(tǒng)均為:CentOS 5.1 
  Apache2.X服務(wù)器一臺:IP地址192.168.232.4;安裝路徑/usr/local/apache; 
  Tomcat6服務(wù)器一臺:IP地址192.168.232.5;安裝路徑/usr/local/tomcat; 
  Tomcat6服務(wù)器一臺:IP地址192.168.232.6;安裝路徑/usr/local/tomcat; 
  配置: 
  Apache安裝: 
  #./configure --prefix=/usr/local/apache --enable-modules=so --enable-mods-shared=all --enable-proxy --enable-proxy-connect --enable-proxy-ftp --enable-proxy-http --enable-proxy-ajp --enable-proxy-balancer --enable-rewrite 
  注釋:激活tomcat集群需要的 enable-proxy,enable-proxy-http,enable-proxy-connect,enable-proxy-ajp和enable-proxy-balancer,其中proxy-ajp和proxy-balancer必須依賴proxy,如果是自定義的編譯除了以上幾個必須的模塊外,mod_status也要編譯進(jìn)去,切記。enable-proxy-ftp可以不編譯。 
  #make;make install 
  制作Apache啟動項: 
  #cp support/apachectl /etc/rc.d/init.d/httpd 
  #vi /etc/rc.d/init.d/httpd 
  添加以下內(nèi)容:(包括#號) 
  # Startup script for the Apache Web Server 
  # chkconfig: 2345 85 15 
  # description: Apache is a World Wide Web server .It is used to server 
  # HTML files and CGI. 
  # processname: httpd 
  # pidfile: /usr/local/apache/log/httpd.pid 
  # config: /usr/local/apache/conf/httpd.conf 
  增加服務(wù)項 
  #chkconfig --add httpd 
  #chmod 755 /etc/rc.d/init.d/httpd 
  #chkconfig --level 345 httpd on 
  JDK安裝: 
  #chmod a+x jdk-6u4-linux-i586-rpm.bin 
  #./jdk-6u4-linux-i586-rpm.bin 
  JAVA環(huán)境變量設(shè)置: 
  #vi /etc/profile 
  在文件最后添加以下內(nèi)容: 
  JAVA_HOME=/usr/java/jdk1.6.0_04 
  CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar 
  PATH=$JAVA_HOME/bin:$PATH 
  CATALINA_HOME=/usr/local/tomcat 
  export JAVA_HOME CLASSPATH PATH CATALINA_HOME 
  執(zhí)行如下命令使環(huán)境變量生效: 
  source /etc/profile 
  測試配置是否成功: 
  java –version 
  Tomcat安裝: 
  #wget [url]http://apache.mirror.phpchina.com/tomcat/tomcat-6/v6.0.16/bin/apache-tomcat-6.0.16.tar.gz[/url] 
  #tar zxvf apache-tomcat-6.0.16.tar.gz 
  #mv apache-tomcat-6.0.16 /usr/local/tomcat 
  Tomcat隨機(jī)啟動: 
  #vi /etc/rc.local 
  添加以下內(nèi)容: 
  /usr/local/tomcat/bin/startup.sh 
  tomcat6配置文件server.xml: 
  把 
  <!-- You should set jvmRoute to support load-balancing via AJP ie : 
  <Engine name="Standalone" defaultHost="localhost" jvmRoute="jvm1"> 
  --> 
  <Engine name="Catalina" defaultHost="localhost"> 
  改成 
  <!-- You should set jvmRoute to support load-balancing via AJP ie : 
  --> 
  <Engine name="Standalone" defaultHost="localhost" jvmRoute="tomcatX"> 
  <!-- 
  <Engine name="Catalina" defaultHost="localhost"> 
  --> 
  說明: 
  第一臺tomcat就把jvmRoute="tomcat1" 
  第二臺tomcat就把jvmRoute="tomcat2" 
  把 
  <!-- 
  <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/> 
  --> 
  去掉注釋變?yōu)?br />
  <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/> 
  ***群集詳細(xì)配置*** 
  <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster" 
  channelSendOptions="8"> 
  <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" 
  address="228.0.0.4" 
  port="45564" 
  frequency="500" 
  dropTime="3000"/> 
  <Receiver className="org.apache.catalina.tribes.transport.nio.NioReceiver" 
  address="auto" 
  port="4000" 
  autoBind="100" 
  selectorTimeout="5000" 
  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"/> 
  </Channel> 
  <Valve className="org.apache.catalina.ha.tcp.ReplicationValve" 
  filter=""/> 
  <Valve className="org.apache.catalina.ha.session.JvmRouteBinderValve"/> 
  <Deployer className="org.apache.catalina.ha.deploy.FarmWarDeployer" 
  tempDir="/tmp/war-temp/" 
  deployDir="/tmp/war-deploy/" 
  watchDir="/tmp/war-listen/" 
  watchEnabled="false"/> 
  <ClusterListener className="org.apache.catalina.ha.session.JvmRouteSessionIDBinderListener"/> 
  <ClusterListener className="org.apache.catalina.ha.session.ClusterSessionListener"/> 
  </Cluster> 
  配置應(yīng)用的web.xml: 
  在每個webapps應(yīng)用中,修改配置文件web.xml文件 添加元素<distributable/> 
  在web.xml文件中<web-app>元素下增加以下內(nèi)容: 
  <!--此應(yīng)用將與群集服務(wù)器復(fù)制Session--> 
  <distributable/> 
  具體修改如下: 
  修改前: 
  <?xml version="1.0" encoding="ISO-8859-1"?> 
  <web-app xmlns="[url]http://java.sun.com/xml/ns/javaee[/url]" 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
  xsi:schemaLocation="http://java.sun.com/xml/ns/javaee [url]http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd[/url]" 
  version="2.5"> 
  </web-app> 
  修改后: 
  <?xml version="1.0" encoding="ISO-8859-1"?> 
  <web-app xmlns="[url]http://java.sun.com/xml/ns/javaee[/url]" 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
  xsi:schemaLocation="http://java.sun.com/xml/ns/javaee [url]http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd[/url]" 
  version="2.5"> 
  <!--此應(yīng)用將與群集服務(wù)器復(fù)制Session--> 
  <distributable/> 
  </web-app> 
  配置apache的ajp負(fù)載均衡功能: 
  確保將以下Module的注釋去掉 
  LoadModule proxy_module modules/mod_proxy.so 
  LoadModule proxy_connect_module modules/mod_proxy_connect.so 
  LoadModule proxy_ftp_module modules/mod_proxy_ftp.so 
  LoadModule proxy_http_module modules/mod_proxy_http.so 
  LoadModule proxy_ajp_module modules/mod_proxy_ajp.so 
  LoadModule proxy_balancer_module modules/mod_proxy_balancer.so 
  LoadModule status_module modules/mod_status.so 
  增加以下內(nèi)容: 
  # Proxypass Config 
  Include conf/extra/httpd-modproxy.conf 
  建立文件httpd-modproxy.conf輸入內(nèi)容: 
  <Location /server-status> 
  SetHandler server-status 
  Order Deny,Allow 
  Deny from all 
  Allow from all 
  </Location> 
  <Location /balancer-manager> 
  SetHandler balancer-manager 
  Order Deny,Allow 
  Deny from all 
  Allow from all 
  </Location> 
  ProxyRequests Off 
  ProxyPass / balancer://tomcatcluster stickysession=jsessionid nofailover=On 
  <Proxy balancer://tomcatcluster> 
  BalancerMember [url]http://192.168.232.5:8080[/url] loadfactor=1 
  BalancerMember [url]http://192.168.232.6:8080[/url] loadfactor=2 
  </Proxy> 
  注釋: 
  ProxyRequests Off 表示啟用反向代理,必須開啟; 
  ProxyPass為代理轉(zhuǎn)發(fā)的Url,即將所有訪問/的請求轉(zhuǎn)發(fā)到群集balancer://tomcatcluster,這里為/即將所有訪問/的請求轉(zhuǎn)發(fā)到群集balancer://tomcatcluster的/test目錄; 
  BalancerMember為群集的成員,即群集服務(wù)器1或2,負(fù)載均衡服務(wù)器會根據(jù)均衡規(guī)則來將請求轉(zhuǎn)發(fā)給BalancerMember; 
  調(diào)試負(fù)載均衡集群系統(tǒng): 
  訪問apache服務(wù)器的web服務(wù):[url]http://192.168.232.4/balancer-manager[/url] 
  如果顯示負(fù)載均衡有關(guān)信息則說明成功了,接著可以訪問[url]http://192.168.232.4/[/url]即訪問到了tomcat的應(yīng)用 
  ***必須先啟動Tomcat服務(wù)再啟動Apache服務(wù)!*** 
  參考文檔: 
  [url]http://tomcat.apache.org/tomcat-6.0-doc/cluster-howto.html[/url] 
  [url]http://tomcat.apache.org/tomcat-6.0-doc/balancer-howto.html[/url] 
  [url]http://man.chinaunix.net/newsoft/ApacheMenual_CN_2.2new/mod/mod_proxy.html[/url] 
  [url]http://man.chinaunix.net/newsoft/ApacheMenual_CN_2.2new/mod/mod_proxy_balancer.html[/url] 
億恩科技地址(ADD):鄭州市黃河路129號天一大廈608室 郵編(ZIP):450008 傳真(FAX):0371-60123888 
   聯(lián)系:億恩小凡 
   QQ:89317007 
   電話:0371-63322206  本文出自:億恩科技【www.cmtents.com】 
      
      
		服務(wù)器租用/服務(wù)器托管中國五強(qiáng)!虛擬主機(jī)域名注冊頂級提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM] 
       |