Nginx的session一致性問題


 

session一致性memcached緩存數據庫解決方案

  1、安裝memcached內存數據庫

yum –y install memcached

可以用telnet localhost 11211

Set abc 0 0 5

12345

get abc

 

  2、web服務器連接memcached的jar包拷貝到tomcat的lib

 

  3、修改server.xml里面修改Engine標簽,添加jvmRoute屬性,目的是查看sessionid里面帶有tomcat的名字,就是這里配置的jvmRoute

<Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcat1">

 

  4、配置tomcat的conf目錄下的context.xml

<Manager className="de.javakaffee.web.msm.MemcachedBackupSessionManager"

        memcachedNodes="n1:192.168.17.9:11211"

    sticky="false"

    lockingMode="auto"

    sessionBackupAsync="false"

        requestUriIgnorePattern=".*\.(ico|png|gif|jpg|css|js)$"

sessionBackupTimeout="1000" transcoderFactoryClass="de.javakaffee.web.msm.serializer.kryo.KryoTranscoderFactory" />

配置memcachedNodes屬性,配置memcached數據庫的ip和端口,默認11211,多個的話用空格隔開

目的?讓tomcat服務器從memcached緩存里面拿session或者是放session

 

  5、修改index.jsp,取sessionid看一看

<%@ page language="java" contentType="text/html; charset=UTF-8"  pageEncoding="UTF-8"%>

<html lang="en">

SessionID:<%=session.getId()%>

</br>

SessionIP:<%=request.getServerName()%>

</br>

<h1>tomcat1</h1>

</html>

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

繼續。!

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM