使用apache代理tomcat集群并實(shí)現(xiàn)session復(fù)制-創(chuàng)新互聯(lián)

1.系統(tǒng)結(jié)構(gòu)圖
使用apache代理tomcat集群并實(shí)現(xiàn)session復(fù)制
2.準(zhǔn)備
主機(jī)tomcatA:關(guān)閉iptables
主機(jī)tomcatB:關(guān)閉iptables
主機(jī)apache:關(guān)閉iptables,關(guān)閉selinux
3.安裝軟件
安裝tomcat請(qǐng)參考:http://blog.csdn.net/kairui123/article/details/71247618
安裝apache:yum install httpd
4.配置appche

創(chuàng)新互聯(lián)公司是一家專(zhuān)業(yè)從事網(wǎng)站建設(shè)、成都做網(wǎng)站的網(wǎng)絡(luò)公司。作為專(zhuān)業(yè)網(wǎng)站建設(shè)公司,創(chuàng)新互聯(lián)公司依托的技術(shù)實(shí)力、以及多年的網(wǎng)站運(yùn)營(yíng)經(jīng)驗(yàn),為您提供專(zhuān)業(yè)的成都網(wǎng)站建設(shè)、全網(wǎng)整合營(yíng)銷(xiāo)推廣及網(wǎng)站設(shè)計(jì)開(kāi)發(fā)服務(wù)!ProxyRequests off     //是否開(kāi)啟正向代理 <Location /lbstate>         SetHandler balancer-manager </Location> <VirtualHost *:80>     ServerAdmin www.creazyrui.com     DocumentRoot /var/www/html     ServerName www.creazyrui.com    </VirtualHost>

參數(shù)解釋?zhuān)?br />loadfactor:指定權(quán)重
route:指定主機(jī)
5.配置tomcat

   <!-- You should set jvmRoute to support load-balancing via AJP ie :      <Engine name="Catalina" defaultHost="localhost" jvmRoute="jvm1"> -->     <Engine name="Catalina" defaultHost="localhost">      <!-- You should set jvmRoute to support load-balancing via AJP ie : -->     <Engine name="Catalina" defaultHost="localhost" jvmRoute="jvm1">     <!-- <Engine name="Catalina" defaultHost="localhost"> --> 在最后追加一下內(nèi)容:        <display-name> Welcome to tomcat </displaay-name>         <description>              welcome to tomcat   </description>   <distributable/>   //這個(gè)元素告訴tomcat,這個(gè)時(shí)分布式的引用  //給集群中tomcat服務(wù)器全部配置以上文件并且修改jvmRoute=“”

6.添加頁(yè)面并測(cè)試

<%@ page language="java" contentType="text/html; charset=UTF-8"     pageEncoding="UTF-8"%> <%@ page import="java.util.*" %> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "  <html>  <head>  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">      <title>test tomcat jiqun</title>     <style type="text/css">         div{border: 1px dashed #0099cc;background-color: #D1EFF9;font-size:14px;margin:5px;padding:5px}        </style> </head> <body>     <div>         <h4>當(dāng)前請(qǐng)求所在服務(wù)器信息:</h4>         session標(biāo)識(shí):<%=session.getId() %> <br/>         IP地址:<%=java.net.InetAddress.getLocalHost() %><br/>         臨時(shí)目錄:<%=System.getProperty("java.io.tmpdir") %>     </div>     <div>         <h4>session創(chuàng)建表單:</h4>         <form action="index.jsp" method="POST">             session名稱(chēng):<input type="text" name="sessionName">             session值:<input type="text" name="sessionValue">             <input type="submit" value="創(chuàng)建session">         </form>     </div>     <!--根據(jù)session創(chuàng)建表單里床過(guò)來(lái)的參數(shù)創(chuàng)建session  -->     <%        String sessionName=request.getParameter("sessionName");                    String sessionValue=request.getParameter("sessionValue");                     if(sessionName!=null && !sessionName.equals("")){             session.setAttribute(sessionName, sessionValue);         }     %>     <div>         <h4>當(dāng)前請(qǐng)求所在服務(wù)器的session列表</h4>         <%             Enumeration e=session.getAttributeNames();                         while(e.hasMoreElements()){                                String name=(String)e.nextElement();                                String value=session.getAttribute(name).toString();                 out.println(name+"= "+value+"<br>");             }         %>     </div>     </body>     </html>

測(cè)試結(jié)果:
使用apache代理tomcat集群并實(shí)現(xiàn)session復(fù)制

使用apache代理tomcat集群并實(shí)現(xiàn)session復(fù)制

7.tomcat的會(huì)話管理

1.StandarManager:默認(rèn)會(huì)話管理器,使用于單個(gè)運(yùn)行單個(gè)運(yùn)行狀態(tài)的tomcat實(shí)例管理,當(dāng)tomcat正常關(guān)閉時(shí),會(huì)將session會(huì)話寫(xiě)入一個(gè)以SESSION.ser文件,并在下次啟動(dòng)時(shí)讀取 2.PersistentManager:當(dāng)會(huì)話長(zhǎng)時(shí)間處于空閑狀態(tài)時(shí)將被寫(xiě)入swap會(huì)話對(duì)象。 3.DeltaManager:用于tomcat集群會(huì)話管理通過(guò)session復(fù)制實(shí)現(xiàn)session共享,將改變的session同步與集群中的每一個(gè)節(jié)點(diǎn) 4.BackupManager:用于tomcat集群中,但與DeltaManager不同,他將會(huì)話只同步給集群中一個(gè)的節(jié)點(diǎn),而不是所有。

定義StandarManager,PersistentManager會(huì)話管理器

1.定義StandarManager會(huì)話管理器,默認(rèn)使用 <Manage className="org.apache.catalina.session.StandarManager" maxInactiveInterval="7200"/> 默認(rèn)保存在$CATALINA_HOME/work/Catalina/<hostname>/<webapp-name>/下的session 參數(shù):     maxActiveSession:允許最多的會(huì)話數(shù)量,-1表示不限制     maxInactiveInterval:非活動(dòng)的會(huì)話超時(shí)時(shí)間,默認(rèn)偽60s     pathname:會(huì)話文件路徑 2.定義PersistentManager會(huì)話管理器,將session會(huì)話寫(xiě)入文件 <Manager calssName="org.apache.catalina.session.PersisitentManager" saveOnRestart="true">     <Store className="org.apache.catalina.session.FileStore" diretory="/dir/path"/> </Manager> 參數(shù):     diretory:指定文件的路徑 3.定義PersistentManager會(huì)話管理器,將session會(huì)話寫(xiě)入數(shù)據(jù)庫(kù) <Manager calssName="org.apache.catalina.session.PersisitentManager" saveOnRestart="true">     <Store className="org.apache.catalina.session.JDBCStore" diretory="com.mysql.jdbc.Driver"      connectionURL="jdbc:mysql://localhost:3306/bdname?user=user;password=pw" /> </Manager>

8.tomcat實(shí)現(xiàn)session復(fù)制
a.編輯每個(gè)server.xml文件,將一下內(nèi)容添加在engine|host標(biāo)簽中,配置Cluster標(biāo)簽

<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"           //這里表示自動(dòng)獲取ip,但是在linux上會(huì)稱(chēng)為127.0.0.1,win上會(huì)自動(dòng)獲取正確的ip             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.MessageDispatchInterceptor"/>     </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.ClusterSessionListener"/>     </Cluster>

b.在各個(gè)節(jié)點(diǎn)上添加組播路由

route add -net ip netmask 255.255.255.255 dev eth011

測(cè)試結(jié)果:
使用apache代理tomcat集群并實(shí)現(xiàn)session復(fù)制

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性?xún)r(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專(zhuān)為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。

分享名稱(chēng):使用apache代理tomcat集群并實(shí)現(xiàn)session復(fù)制-創(chuàng)新互聯(lián)
鏈接地址:http://bm7419.com/article36/igisg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供電子商務(wù)、微信小程序、云服務(wù)器、網(wǎng)站制作、全網(wǎng)營(yíng)銷(xiāo)推廣、動(dòng)態(tài)網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

綿陽(yáng)服務(wù)器托管