tomcat+nginx+redis集群试验
来源:互联网 发布:石家庄淘宝代运营 编辑:程序博客网 时间:2024/06/08 02:43
redis的安装不说了
只说处理session的问题。
首先要下载三个包:tomcat-redis-session-manager.jar and jedis-2.0.0.jar,和commons-pool-1.6.jar,最开始用的包是commons-pool-2点多的,但是不是启动tomcat的时候报错,说找不到org.apache.commons.pool什么什么类,然后我把commons-pool-2点多的那个jar包解压后看到它的包名是org.apache.commons.pool2,所以才会发生上述的错误,因此我就换成了commons-pool-1.6.jar。然后启动成功。
然后在tomcat的conf/server.xml中的Host节点中配置如下:
<Context path="" docBase="/usr/local/tomcat/webapps/web" debug="0" reloadable="true"> <Valve className="com.radiadesign.catalina.session.RedisSessionHandlerValve" /> <Manager className="com.radiadesign.catalina.session.RedisSessionManager" host="localhost" port="6379" database="0" maxInactiveInterval="60" />
</Context>
本来是照着官网https://github.com/jcoleman/tomcat-redis-session-manager,这个上面配置的,但是报错,xml解析错误,把注释去掉就好了。
nginx安装之前的博客中有,下面说一下配置:
在http节点中,添加如下:
upstream myproject {
<span style="white-space:pre"></span>#这个是配置后端的tomcat,我是在本地启动了两个tomcat,一个端口为8080,一个为8081 server localhost:8080; server localhost:8081;
<span style="white-space:pre"></span>#下面这三行可以注释掉,这是因为之前用nginx配置根据jvm进行负载均衡 # server localhost:8080 srun_id:jvm1; # server localhost:8081 srun_id:jvm2; # jvm_route $cookie_JSESSIONID|sessionid reverse; }
location / { # root html; # index index.html index.htm; add_header Cache-Control 'no-store'; client_max_body_size 100m; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; # proxy_cache Z; proxy_cache_valid 200 1m;
<span style="white-space:pre"></span>#重要的是这里,这里的Myproject和上面的那段配置中的myproject名字一样就可以了,非常简单 proxy_pass http://myproject; }
tomcat1中的index.jsp:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><html><body>SessionID:<%=session.getId()%><BR>SessionIP:<%=request.getServerName()%><BR>SessionPort:<%=request.getServerPort()%><%out.println("This is Tomcat Server 111111锛.);%><%=(String)session.getAttribute("user")%></body></html>
tomcat1中的test.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><html><body><% session.setAttribute("user","12345");%> test session;</body></html>
tomcat2中的index.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><html><body>SessionID:<%=session.getId()%><BR>SessionIP:<%=request.getServerName()%><BR>SessionPort:<%=request.getServerPort()%><%out.println("This is Tomcat Server 222222锛.);%><%=(String)session.getAttribute("user")%></body></html>
两个tomcat的server.xml都需要配置,两个tomcat都需要把那三个包放在tomcat目录的lib目录下面。完了之后就可以分别启动两个tomcat了。
然后进nginx的bin目录下,直接./nginx启动nginx
然后运行http://YourIP/,
会发现基本上是tomcat1-tomcat2-tomcat1-tomcat2,进每个server的频率基本一致。然后运行http://YourIP/test.jsp,页面出来之后再运行http://YourIP/,可以看到每个tomcat的index.jsp页面都打印出来了user的值。
至此,试验成功!
由于本人工作比较忙,每次写博客都写的很乱,主要是给自己看。如果大家有什么地方有疑问,或者我写的不对,可以通过评论提出来,我看到后会及时回复,和大家一起交流。
0 0
- tomcat+nginx+redis集群试验
- windows nginx tomcat redis 集群
- Nginx+Tomcat+redis集群配置
- tomcat+redis+nginx集群搭建
- nginx + redis + tomcat 集群配置
- Tomcat+Nginx+Keepalived+Redis集群
- tomcat6+nginx+redis搭建tomcat集群环境
- Nginx+Tomcat+Redis+NFS搭建服务器集群
- nginx+tomcat+redis集群环境搭建
- Nginx+Tomcat+redis 集群安装及配置
- nginx+tomcat+redis的集群+session共享
- nginx+tomcat+redis做集群负载均衡
- nginx+tomcat+redis集群环境搭建
- Nginx+Tomcat+Redis搭建共享SESSION集群
- Nginx+Tomcat+Redis搭建SESSION集群
- ubuntu nginx+redis+tomcat集群配置
- Nginx+Tomcat+Memcache|Redis集群配置
- tomcat集群共享session(nginx+redis)
- jQuery 属性选择器
- 导入文件必须严格按照以下规则
- HDU 2601
- shell练习之检查一个程序是否运行并给出提示的方法
- hdu 1568 Fibonacci
- tomcat+nginx+redis集群试验
- 我的职业生涯
- IOS学习之二:Objective-C基础语法和关键字
- yuv420P转NV12代码
- iOS设备是否越狱的判断方法
- 2014 Multi-University Training Contest 4 题解——by WJMZBMR
- 黑马程序员—java技术blog—第五篇:Map集合
- java排序算法(希尔Shell)
- IOS学习三:Objective-C的扩展OOP,类别,内存管理等