歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> 關於Linux

linux下tomcat集群配置案例

配置前的准備工作
在配置集群應用前要對集群的配置信息有一個良好的設計,下面就是我們這次配置的集群信息:
在同一網段內的不同機器上配置集群,以下是以2台機器做群集,
機器類型 操作系統 硬件配置 角色 備注
普通PC Linux as 4 IP:10.3.15.85 PORT:9080 Managed Server Pc1
普通PC Linux as 4 IP: 10.3.15.84 PORT:9080 Managed Server Pc2
普通PC Linux as 4 IP: 10.3.15.85 PORT:80 Balancer Server Pc1

1 操作系統
RedHat Linux as4
2 所需軟件
Apache 2.0.54 下載地址
upload/201106071159522828.gif;.*\.js;.*\.jpg;.*\.htm;.*\.html;.*\.txt;”/>
<Deployer className=”org.apache.catalina.cluster.deploy.FarmWarDeployer”
tempDir=”/tmp/war-temp/”
deployDir=”/tmp/war-deploy/”
watchDir=”/tmp/war-listen/”
watchEnabled=”false”/>
</Cluster>

至此,系統已經整個完畢
啟動apache和tomcat服務
# /usr/local/apache/bin/apachectl start
#/usr/local/tomcat/bin/catalina.sh start
將如下內容添加至/etc/rc.d/rc.local文件末尾,以便系統啟動後開啟apache,tomcat服務
/usr/local/tomcat/bin/catalina.sh start
/usr/local/apache/bin/apachectl start

5 測試群集

經過以上所有步驟,一個具有2個節點的tomcat群集已經配置完畢,但有時可能不能進行節點間的會話復制,是因為要把所有節點的server.xml中的tcpListenAddress=”auto”改為tcpListenAddress=”10.3.15.85” ,也就是改為真實的ip地址。
如果在啟動時,出現如下信息:skipping state transfer. No members active in cluster group. 也需要修改上面的信息。否則,session是不能在多個tomcat間復制session的。

5.1 編寫一個簡單web應用,包含如下內容:
寫一個如下的2個jsp頁面。
test.jsp內容如下:
<%@ page contentType=”text/html; charset=GBK” %>
<%@ page import =”com.WorkerBean”%>
<%@ page import=”java.net.*” %>
<html>
<head>
<title>
test
</title>
</head>

<body bgcolor=”#ffffff”>
<%= request.getSession().getId() %>

<%
int i=0;
WorkerBean test = new WorkerBean();
//HttpSession tsession=request.getSession();
test.setWorker_no(request.getSession().getId()+i);
session.setAttribute(“worker_no”,test.getWorker_no());

System.out.println(“OK”);
System.out.println(“session.getAttribute()==”+session.getAttribute(“worker_no”));
out.println(“session.getAttribute()==”+session.getAttribute(“worker_no”)); out.println(“OK”);

%>
<a href=”testResult.jsp”> testResult.jsp</a>
<h1>Tomcat </h1>
</body>
</html>

testResult.jsp內容如下
<%@ page contentType=”text/html; charset=GBK” %>
<%@ page import =”com.WorkerBean”%>
<%@ page import=”java.net.*” %>
<html>
<head>
<title>
test
</title>
</head>

<body bgcolor=”#ffffff”>

<%

System.out.println(“OK”);
System.out.println(“session.getAttribute()==”+session.getAttribute(“worker_no”));
out.println(“OK”); out.println(“session.getAttribute()==”+session.getAttribute(“worker_no”));
%>
<h1>Tomcat </h1>
</body>
</html>


5.2 編寫這個jsp調用的javaBean類。

WorkerBean.java
public class WorkerBean implements java.io.Serializable {
String worker_no;

/**
 @return返回worker_no。
*/
public String getWorker_no() {
return worker_no;
}

/**
 @param worker_no要設置的worker_no。
*/
public void setWorker_no(String worker_no) {
this.worker_no = worker_no;
}

}

注意:這個類一定要實現序列化,是為了把session對象存在這個類中,session是要在群集中復制的,否則session對象不能在群集中復制。
5.3配置web.xml文件
注意:一定要加入<distributable/>,其他的就是和普通的應用一樣的。
<?xml version=”1.0” encoding=”UTF-8”?>
<!DOCTYPE web-app PUBLIC “-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN” “http://java.sun.com/dtd/web-app_2_3.dtd”>
<web-app>
<display-name>web</display-name>
<distributable/>
</web-app>
5.4確保server.xml如附錄1和附錄2所示:略

5.5 發布web應用,把上面的所有文件考到tomcat的webapps/ROOT目錄下,覆蓋掉原來的文件就可以了。
5.6 測試web應用
啟動apache和tomcat1和tomcat2.
在浏覽器地址欄中輸入 http://10.3.15.85/ 會看到如下頁面

Copyright © Linux教程網 All Rights Reserved