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都是一致的。

posted on 2016-02-26 08:55  囚徒  阅读(4517)  评论(0编辑  收藏  举报

导航