电竞比分网-中国电竞赛事及体育赛事平台

分享

Web開發(fā):Apache2.2.x+Tomcat6.x+jk2.x做集群配置(2)

 集微筆記 2014-05-05

第四步:現(xiàn)在是核心配置了

在安裝好的Apache中找到httpd.conf文件,如圖:

wkiom1nmi2irvhfqaajhabno5su301.jpg

在其最下面添加如下一行信息:
 

wkiom1nmi5gjwdx_aab4yo8qep4180.jpg

在conf文件夾中新建mod_jk.conf文件夾

配置如下:
 

wkiom1nmja3y3k64aae98lo7ds4360.jpg

找到modules文件夾,將下載好的mod_jk-1.2.31-httpd-2.2.3.so文件直接拷貝進去;這里面有好多的xxx.so;如圖所示:

wkiol1nmjahilskbaarszm-q6a8619.jpg
 

在conf文件夾中新建workers.properties文件夾,配置如下:
 

 

wkiol1nmjcni7vjbaapjcvbhkda894.jpg
 

注:我這里就用了兩個Tomcat做示范,當然你用多個Tomcat也沒問題,相應的在本機上的port端口不一致,就行,遠程不用管,但是要把host配置成遠程IP地址,就行了!

下面我們就開始配置Tomcat里面的server.xml文件了,里面有三個端口,分別是Server,Connector,Connector AJP,這三個端口號都要不一致,在這里就不敘述了下面可以下載server.xml文件例子。

里面兩個核心的配置如下:

 

wkiol1nmjhmrtqssaawqb8t7g3c788.jpg


 

注:一個是配置負載均衡,一個是配置session復制,保證整個服務器session值是一致的

配置到這里:基本完成,下面,我們就編寫web項目進行測試:

在新建的web項目中,需要在web.xml文件中添加這條信息,distributable元素來告訴servlet/JSP容器,編寫的應用將在分布式Web容器中部署!

wkiom1nmjmst9qlraamaoanwiek020.jpg

ok,編寫一個jsp進行測試了,網(wǎng)上大部分都是這樣測試的,我這里也用這種方法測試:

  1. <%@ page contentType="text/html; charset=GBK" %>   
  2. <%@ page import="java.util.*" %>   
  3. <html><head><title>Cluster App Test</title></head>   
  4. <body>   
  5. Server Info:   
  6. <%   
  7. out.println(request.getLocalAddr() + " : " + request.getLocalPort()+"<br>");%>   
  8. <%   
  9.   out.println("<br> ID " + session.getId()+"<br>");   
  10.   // 如果有新的 Session 屬性設置   
  11.   String dataName = request.getParameter("dataName");   
  12.   if (dataName != null && dataName.length() > 0) {   
  13.      String dataValue = request.getParameter("dataValue");   
  14.      session.setAttribute(dataName, dataValue);   
  15.   }   
  16.   out.println("<b>Session 列表</b><br>");   
  17.   System.out.println("============================");   
  18.   Enumeration e = session.getAttributeNames();   
  19.   while (e.hasMoreElements()) {   
  20.      String name = (String)e.nextElement();   
  21.      String value = session.getAttribute(name).toString();   
  22.      out.println( name + " = " + value+"<br>");   
  23.          System.out.println( name + " = " + value);   
  24.    }   
  25. %>   
  26.   <form action="test2.jsp" method="POST">   
  27.     名稱:<input type=text size=20 name="dataName">   
  28.      <br>   
  29.     值:<input type=text size=20 name="dataValue">   
  30.      <br>   
  31.     <input type=submit>   
  32.    </form>   
  33. </body>   
  34. </html> 

現(xiàn)在將web應用部署到Tomcat1,Tomcat2中去,記住是加載之后的class文件,然后分別啟動tomcat1,Tomcat2,啟動順序無所謂,最后啟動Apache

在瀏覽器上輸入:http://127.0.0.1/test/test2.jsp如下圖:刷新,后臺訪問,Tomcat1,Tomcat2

 

wkiom1nmd33h0ns8aactgrdklik956.jpgwkiol1nmd6zaqrcjaach0efwfdc778.jpg

我們發(fā)現(xiàn)sessionID是沒有變化的,后臺Tomcat在進行訪問切換,

 

wkiol1nmecwtoikvaazkoy9zwjs527.jpg


我們繼續(xù)輸入數(shù)據(jù)看Tomcat打印的效果:
 


 

wkiol1nmjmesk8xqaaf-xwgo3ri751.jpg

wkiom1nmentbcpx-aasayt9pqlu303.jpg

由此可見,我們的集群最核心的session復制做成功了,保證多個tomcat的session是一致的,基本完成集群配置,可以使用了,這也是我摸索而來,希望沒有誤導大家。

另外:為什么打印出來Server Info : null  也就是IP地址?這一點也是我郁悶的地方,有朋友看出問題,也可以留言,咱們一起交流!

附,為保證頁面的圖片大小統(tǒng)一,圖片經(jīng)過處理,所以分辨率有些不正常!呵呵....

文件下載地址:

源碼,配置文件,Apache,jk,下載!

博客地址:http://1936625305.blog.51cto.com/6410597/1406268


    本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多