wuxiren123

          My Links

          Blog Stats

          常用鏈接

          留言簿

          隨筆檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          FineReport如何部署Tomcat服務(wù)器集群

          環(huán)境準(zhǔn)備

          Tomcat服務(wù)器集群中需要進行環(huán)境準(zhǔn)備:

          •  ApacheApachehttp服務(wù)器,利用其對Tomcat進行負(fù)載均衡,這里使用的版本是Apache HTTP Server2.0.64
          • TmocatTmocat7.0.6
          •  JKJKTmocat提供給http服務(wù)器的插件,這里使用的版本是tmocat-connectors-1.2.37-windows-i386-httpd-2.0.x
          •  系統(tǒng)win7

          軟件安裝

          Apache

          下載完成之后,直接安裝apache,安裝完成之后,在瀏覽器中輸入http://localhost/,能夠看到下圖則說明安裝成功:


          Tomcat

          解壓下載好的tomcat縮包,復(fù)制三份解壓好的tomcat文件夾,分別重命名為tomcat1tomcat2tomcat3

          配置過程

          Apache配置修改

          修改httpd.conf,找到conf目錄下的httpd.cof,在文件的最后一行添加:

          include "C:\Program Files (x86)\Apache Group\Apache2\conf\mod_jk.conf"

          新建mod_jk.conf文件,在conf目錄下新建mod_jk.conf文件,內(nèi)容如下:

          LoadModule jk_module modules/mod_jk.so

          JkWorkersFile conf/workers.properties

          JkMount /*.jsp controller

          解壓下載的jk文件,將里面的so文件復(fù)制到Apache安裝目錄的modules目錄下,這里下載的jk文件名為mod-jk.so。新建并編輯workers.properties文件。在conf文件夾下新建worker.properties,內(nèi)容如下:

          #server

          worker.list = controller

          #========tomcat1========

          worker.tomcat1.port=11009

          worker.tomcat1.host=localhost

          worker.tomcat1.type=ajp13

          worker.tomcat1.lbfactor = 1

          #========tomcat2========

          worker.tomcat2.port=12009

          worker.tomcat2.host=localhost

          worker.tomcat2.type=ajp13

          worker.tomcat2.lbfactor = 1

          #========tomcat3========

          worker.tomcat3.port=13009

          worker.tomcat3.host=localhost

          worker.tomcat3.type=ajp13

          worker.tomcat3.lbfactor = 1

           

          #========controller,負(fù)載均衡控制器========

          worker.controller.type=lb

          worker.controller.balanced_workers=tomcat1,tomcat2,tomcat3

          worker.controller.sticky_session=false

          worker.controller.sticky_session_force=1

          #worker.controller.sticky_session=1

          如果需要配置遠(yuǎn)程的tomcat服務(wù)器的話,只需要將worker.tomcat3.host=localhost中的localhost改為遠(yuǎn)程服務(wù)器的IP地址即可。本次配置都是本地的tomcat,并且在一臺機器上,所以端口號都不相同,如果在不同服務(wù)器上,端口號則不需要更改。

          Tomcat配置

          修改之前復(fù)制好的三份tmocat中的server.xml配置,打開conf/server.xml文件,修改如下圖:

          tomcat1:

           


          Tomcat2:

           

          Tomcat3:

           


          結(jié)果測試

          tomcat下面的項目文件夾中修改web.xml,如這里使用test項目,則修改三個tomcat下面的test項目中的web.xml,在每個web.xml<display-name>節(jié)點后添加新的節(jié)點<distributable/>。在每個test項目文件夾下新建test.jsp,內(nèi)容如下:

          <%@ page contentType="text/html; charset=GBK" %>

          <%@ page import="Java.util.*" %>

          <html><head><title>Cluster App Test</title></head>

          <body>

          Server Info:

          <%

          out.println(request.getLocalAddr() + " : " + request.getLocalPort()+"<br>");%>

          <%

            out.println("<br> ID " + session.getId()+"<br>");

            // 如果有新的 Session 屬性設(shè)置

            String dataName = request.getParameter("dataName");

            if (dataName != null && dataName.length() > 0) {

               String dataValue = request.getParameter("dataValue");

               session.setAttribute(dataName, dataValue);

            }

            out.println("<b>Session 列表</b><br>");

            System.out.println("============================");

            Enumeration e = session.getAttributeNames();

            while (e.hasMoreElements()) {

               String name = (String)e.nextElement();

               String value = session.getAttribute(name).toString();

               out.println( name + " = " + value+"<br>");

                   System.out.println( name + " = " + value);

             }

          %>

            <form action="test.jsp" method="POST">

              名稱:<input type=text size=20 name="dataName">

               <br>

              :<input type=text size=20 name="dataValue">

               <br>

              <input type=submit>

             </form>

          </body>

          </html>

          Session測試

          項目部署好之后,啟動三個tomcat以及Apache,啟動順序隨意,然后再瀏覽器中輸入http://localhost/test/test.jsp,結(jié)果如下圖:

           

          刷新頁面,如下圖:

           

          再次刷新,如下圖:

           

          多次刷新頁面的sessionID看是同一個ID,說明session是復(fù)制成功了。那么session中的存儲的東西呢,在輸入框中分別輸入112233后,顯示結(jié)果如下圖:

           



          節(jié)點插拔測試

          關(guān)閉Tomcat

          關(guān)閉tomcat3,刷新頁面,可以不斷訪問tomcat1tomcat2,再關(guān)閉tomcat2,只能夠訪問tomcat1,說明節(jié)點關(guān)閉時運行正常。

          啟動Tomcat

          如果重啟Tomcat2,無論怎么刷新,始終訪問Tomcat3,無法訪問tomcat2,這時利用另外臺機器訪問頁面,發(fā)現(xiàn)Tomcat2正常,然后在刷本地頁面,又可以訪問Tomcat2了。對于每個新來的sessionApache按照節(jié)點配置中的lbfactor比重選擇訪問節(jié)點,如果某節(jié)點node1不能訪問,則尋找下一可訪問節(jié)點,并且將此node1就在該訪問session的訪問黑名單中,以后該session的訪問直接不考慮node1,即使node1又可以訪問了。而新來的session是無黑名單的,如果新的session能夠訪問到node1了,則會將node1在其他所有session訪問的黑名單刪除,這樣其他session就又能訪問node1節(jié)點了。經(jīng)過以上測試,說明Tomcat集群和負(fù)載均衡已經(jīng)實現(xiàn)了。

          posted on 2016-11-30 16:01 喝水居然長肉 閱讀(120) 評論(0)  編輯  收藏


          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 富顺县| 卓资县| 安溪县| 罗山县| 阿鲁科尔沁旗| 张家界市| 张家港市| 绥滨县| 会同县| 祁连县| 阳泉市| 门源| 临颍县| 曲水县| 阳西县| 麻城市| 乡城县| 涟源市| 西乌珠穆沁旗| 平乐县| 垦利县| 涞水县| 石嘴山市| 汶上县| 绩溪县| 通海县| 卫辉市| 常州市| 桑植县| 五常市| 奉节县| 甘肃省| 成武县| 北流市| 都兰县| 马公市| 时尚| 武山县| 古田县| 光山县| 青田县|