nginx+tomcat+memcached配置session共享

栏目: 数据库 · Memcache · 发布时间: 6年前

内容简介:nginx+tomcat+memcached配置session共享

两台tomcat,通过nginx来实现负载均衡,使用 memcached 来解决session共享问题。

tomcat配置

分别拷贝jar包到tomcatA、tomcatB的lib目录下

包含如下这些jar包,从这里下载

asm-3.2.jar
kryo-1.04.jar
kryo-serializers-0.11.jar
memcached-session-manager-1.7.0.jar
memcached-session-manager-tc7-1.8.1.jar
minlog-1.2.jar
msm-kryo-serializer-1.7.0.jar
reflectasm-1.01.jar
spymemcached-2.7.3.jar

配置context.xml

<ManagerclassName="de.javakaffee.web.msm.MemcachedBackupSessionManager"
	   memcachedNodes="n1:127.0.0.1:11211"
	lockingMode="auto"
	sticky="false"
	requestUriIgnorePattern= ".*\.(png|gif|jpg|css|js)$"
	sessionBackupAsync= "false"
	sessionBackupTimeout= "100"
	copyCollectionsForSerialization="true"
	transcoderFactoryClass="de.javakaffee.web.msm.serializer.kryo.KryoTranscoderFactory"
		/>

nginx配置

user  nobody;  
worker_processes  4;  
error_log  logs/error.log;  
events {  
    worker_connections  1024;  
}  

http {  
    include       mime.types;  
    default_type  application/octet-stream;  
    sendfile        on;  
    keepalive_timeout  65;  
    gzip  on;  
    upstream  myserver   {  
              server   127.0.0.1:8080;  
              server   127.0.0.1:8081;  
    }  
    server {  
        listen       80;  
        server_name  127.0.0.2;  
        charset utf-8;  
        location / {  
            root   html;  
            index  index.html index.htm;  
            proxy_pass        http://myserver;  
            proxy_set_header  X-Real-IP  $remote_addr;  
            client_max_body_size  100m;  
        }  


        location ~ ^/(WEB-INF)/ {
            deny all;
        }


        error_page   500 502 503 504  /50x.html;  
        location = /50x.html {  
            root   html;  
        }  


    }  
}

说明:

  1. tomcatA的地址为127.0.0.1:8080
  2. tomcatB的地址为127.0.0.1:8081
  3. 通过在浏览器上输入127.0.0.2,请求会动态分配到A和B上

验证Session共享是否配置成功

1.在tomcatA的webapp下新增test.jsp页面

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
	pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>tomcatA</title>
</head>
<body>
	SessionID:<%=session.getId()%>
	<%
		out.println("tomcatA");
	%>
</body>
</html>

2.在tomcatB的webapp下新增test.jsp页面

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
  pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>tomcatB</title>
</head>
<body>
  SessionID:<%=session.getId()%>
  <%
    out.println("tomcatB");
  %>
</body>
</html>

浏览器请求127.0.0.2/projectName/test.jsp,多刷新几下,如果seseionID一直不变,而不断切换A和B,则证明配置成功。


以上所述就是小编给大家介绍的《nginx+tomcat+memcached配置session共享》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

降维打击

降维打击

杨 健 / 北京时代华文书局 / 2016-10 / 68

“降维打击”出自中国科幻作家刘慈欣的小说《三体》,而笔者在这本书中试图把“降维打击”的思维引入到企业经营管理的实战中,总结出一套“降维打击”的商业理论。 按照笔者的理解,企业竞争力可以体现在若干个维度的累加上,具有高维度思维的企业,主动将竞争对手的某一核心维度的竞争力降为零,并跟对手在自己更具竞争优势的维度内进行竞争,从而实现以小博大、以弱灭强的商业竞争结果,这就是企业竞争中的“降维打击”。......一起来看看 《降维打击》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具