java web session共享


一 搭建環境

操作系統:windows 7 64

http servernginx 1.9.7

緩存系統:memcached

Servlet容器:apache-tomcat-7.0.65

二 搭建步驟

1.為了方便測試,將tomcat復制為兩份,避免tomcat端口號沖突,修改tomcat\conf\server.xml 端口號。

2.在兩個tomcat\webapps下建立文件夾,並新建一個jsp文件,文件內容為<%=session.getId()%> 為了區別跳轉的路徑可以在內容中追加編號,例如tomcat1tomcat2

3.啟動兩個tomcat並訪問 http://localhost:port/<新建的文件夾>/<jsp文件>此時兩個tomcat是獨立運行的。我們需要配置nginx將兩個tomcat集成起來。

4.修改ngxig\conf\nginx.conf配置文件

upstream test{

server ip:port;

server ip:port;

}

 

server {

        listen       80;

        server_name  ip;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location /test{

            root jsp;

            index login.jsp;

            proxy_pass http://test;  (testupstream配置的別名)  

        }

5.通過cmd命令行工具進入nginx使用命令 nginx啟動。

Psngxin常用命令:啟動 nginx,停止 ngxin -s stop,重啟nginx -s reload,如果發現命令無效,可以打開任務管理器將nginx進程結束掉再執行啟動命令。

6.按照上面給出的例子通過瀏覽器訪問 http://localhot/<文件夾>/<jsp文件>就能訪問jsp頁面。按F5刷新可以看到請求頁面是在兩個jsp頁面切換,sessionId不斷的更換。

7.停止tomcat,將下載好的memcached相關的jar包放到tomcat\lib

Ps:這里要注意tomcatjar包的版本,可以去google code上去查看,針對tomcat 7 jar包已上傳至 \\192.168.0.212\SoftBank\jar\memcached 中。

8.解壓memcached,使用cmd命令進入該目錄,執行 memcached -d install命令,安裝好后,使用memcached -d start啟動memcached服務。

9.修改tomcat\conf\context.xm文件,將以下內容天下到<context></context>標簽內。

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

memcachedNodes="n1:ip:port" requestUriIgnorePattern=".*/.(png|gif|jpg|css|js)$" 

sessionBackupAsync="false" 

sessionBackupTimeout="100"

transcoderFactoryClass="de.javakaffee.web.msm.serializer.javolution.JavolutionTranscoderFactory" copyCollectionsForSerialization="false"/>

添加好后,修改IP和端口。

10.啟動tomcat,訪問nginx配置的路徑,http://localhot/<文件夾>/<jsp文件此時再按F5刷新頁面會看到無論訪問哪個頁面sessionID都是一致的。


免責聲明!

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



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