windows下模拟,nginx做代理负责转发请求,tomcat集群,redis负责session的共享。
<a href="http://download.csdn.net/detail/linjiqian/9785974">Demo资料CSDN下载</a>
</br>
1.<a href="http://nginx.org/en/download.html">nginx下载</a>,配置nginx,修改nginx的nginx.conf
配置文件,在http
块中增加配置项
upstream localhost {
#server 被代理主机ip:端口 处理的权重。
server localhost:18881 weight=1;
server localhost:18882 weight=1;
}
修改http
块中的location
配置项,配置代理
location / {
proxy_pass http://localhost;
proxy_redirect default;
}
到nginx解压的目录下打开cmd,start nginx
启动nginx。
</br>
2.<a href="https://redisdesktop.com/download">下载redis桌面管理工具</a>,<a href="https://github.com/MSOpenTech/redis/releases">下载redis</a>,在redis.windows.conf
配置文件增加如下配置
#配置最大内存
maxmemory 1048000000
#设置密码为root
requirepass root
启动redis,在cd到redis解压的目录下运行cmd,redis-server redis-windows.conf
</br>
3.配置tomcat,先修改tomcat的server.xml
端口配置,要接入redis管理session需要引入三个jar包放入到每个tomcat的lib目录下(如果lib出问题,启动tomcat时会报错)
在各个tomcat配置文件context.xml
中增加一段
<Valve className="com.radiadesign.catalina.session.RedisSessionHandlerValve" />
<Manager className="com.radiadesign.catalina.session.RedisSessionManager"
pathname=""
host="localhost"
port="6379"
password="root"
database="0"
maxInactiveInterval="60" />
这段就是让tomcat把session存入到redis的配置,host、port...这些都是连接redis的配置,其中database
是指存到redis中的哪个库,默认情况下redis有16个库,0是第一个库。
</br>
4.启动tomcat,测试,两个不同的tomcat已经模拟共享了session
demoddd.gif</br>
</br>
5.如果出现如下问题,恐怖的情况,瞬间挤爆内存,就需要注意tomcat的配置文件server.xml
中
<Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcat1">
一定不要有jvmRoute
这个属性。
</br>
</br>
</br>
网友评论