Nginx+redis部署tomcat集群

一、部署环境:

两个tomcat实例部署在Ubuntu 14上,IP地址分别为192.168.1.110和192.168.1.111,Nginx和redis部署在windows7上,IP地址为192.168.1.100;

二、部署redis:

1、下载并解压redis;

2、Cmd下进入redis目录,执行:redis-server.exe redis.conf来启动redis;

三、部署Nginx:

假设两台tomcat服务所在ip地址分别为192.168.1.110和192.168.1.111,修改在Nginx目录下的Nginx.conf文件如下:

执行Nginx.exe程序,查看任务管理器,如果进程里面有nginx.exe的进程,则说明Nginx启动成功;

四、部署tomcat:

由于部署的两个tomcat实例是运行在不同的机器上,因此不需要修改端口号,如果是在一台机器上,则需要修改端口号,否则会启动不起来;

1、修改context.xml文件:

增加如下内容:

<Valve className="com.orangefunction.tomcat.redissessions.RedisSessionHandlerValve" /> 

<Manager className="com.orangefunction.tomcat.redissessions.RedisSessionManager" 

    host="192.168.1.100" 

    port="6379" 

    database="0" 

    maxInactiveInterval="60" />

 

2、把下面的jar文件放到tomcat的lib目录下,然后启动tomcat:

tomcat-redis-session-manager1.2.jar

jedis-2.6.2.jar

tomcat-juli.jar

tomcat-juli-adapters.jar

commons-pool2-2.0.jar

 

五、测试:

1、新建test.jsp测试文件:

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

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

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

<body>

<h1><font color="red">tomcat1</font></h1>

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>

 

2、在浏览器中输入:http://192.168.1.100:81/test/test.jsp,多点击几次提交按钮,可以看到页面在两个tomcat之间切换,说明负载是成功的,并且sessionID总是相同的,也说明session是在redis上共享的;

3、使用redis客户端连接上服务器,输入keys * 可以看到建立的session,输入get sessionID可以看到具体session的数据值;

posted on 2017-11-27 16:22  小夏coding  阅读(223)  评论(0编辑  收藏  举报

导航