Linux系统管理综合辅导:linux搭建apache和tomcat集群2
时间:2014-04-29
来源:Linux认证考试网 浏览次数:526
【华夏培训网:中国教育培训第一门户】
2.6 在apache/conf目录下面增加两个文件 2.6.1 文件名称mod_jk.conf workers.properties 2.6.2 mod_jk.conf 文件内容:
2.6.1 文件名称mod_jk.conf workers.properties
2.6.2 mod_jk.conf 文件内容:
LoadModule jk_modulemodules/mod_jk.so
JkWorkersFileconf/workers.properties
#指定那些请求交给tomcat处理,"controller"为在workers.propertise里指定的负载分配控制器名
JkMount /*.jsp controller
2.6.3 workers.properties文件内容:
#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
#========controller,负载均衡控制器========
worker.controller.type=lb
worker.controller.balance_workers=tomcat1,tomcat2
worker.controller.sticky_session=false
worker.controller.sticky_session_force=1
#worker.controller.sticky_session=1
2.6.3 修改apache/conf目录下的httpd.conf
在最后增加:include"/usr/local/apache/conf/mod_jk.conf"
2.6.4 开启45564防火墙udp端口/sbin/iptables -I INPUT -p udp -dport 45564-j ACCEPT
2.6.5 保存配置/etc/rc.d/init.d/iptables save
2.6.6 启动tomcat1 tomcat2
查看日志,如果出现Replication member added:org.apache.catalina.tribes.membership.MemberImpl[tcp://{127, 0, 0, 1}:4001,{127, 0, 0, 1},4001, alive=1008, securePort=-1, UDP Port=-1, id={-78 100 -88 20 1 127 64 64 -102 71 -75 -84 -121 104 -10 88 }, payload={}, command={}, domain={}, ]则说明两个tomcat已经互相监听到了。
2.6.7 如果无法互相监听到:修改linux配置:]# /sbin/iptables -I INPUT -p udp -dport 45564 -j ACCEPT打开端口保存:# /etc/rc.d/init.d/iptables save重启俩tomcat 即可
2.6.8 访问http://localhost/test/test2.jsp查看效果
test2.jsp:
<%@ page contentType="text/html; charset=GBK" %>
<%@ page import="java.util.*" %>
<html><head><title>Cluster App Test</title></head>
<body>
<img alt="aa" src="http://localhost/images/aa.jpg"/>
Server Info:
<%
out.println(request.getLocalAddr() + " : " + request.getLocalPort()+"<br>");%>
<%
out.println("<br> ID " + session.getId()+"<br>");
// 如果有新的 Session 属性设置
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="test2.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>
Linux认证