使用nginx + tomcat + redis 实现集群

2 篇文章 0 订阅

为什么要使用集群?集群有什么好处?

利用nginx对请求进行分流,将请求平均的分给不同的tomcat去处理,减少单个tomcat的负载量,提高tomcat的响应速度。

 

1 材料准备

tomcat 至少2个

redis 1个

nginx  1个  下载地址 http://nginx.org/

jar包           下载地址 https://pan.baidu.com/s/1zjSwS8HakqnWsbN1TfFy2Q 密码:p8fz 

commons-pool2-2.3.

jar jedis-2.7.3.jar 

tomcat-redis-session-manager-master-2.0.0.jar

 

2下载两个tomcat 并且更改端口

 

成功启动,说明端口修改成功

 

3 新建一个Test测试项目

 首页可以这样子显示,不同的tomcat 首页可以用1,2来区分,并且打印出sessionId 

 

启动tomcat发现 session不相同 tomcat不同

 

 

4 然后导入刚才准备好的jar包,放进tomcat/lib下面(两个tomcat都需要导入)

5 修改tomcat 的 context.xml ,加入以下xml代码

 <Valve className="com.naritech.nicole.gump.RedisSessionHandlerValve" />
   <Manager className="com.naritech.nicole.gump.RedisSessionManager"
     host="127.0.0.1"
     port="6379"
     database="0"
     maxInactiveInterval="60"
     />

tomcat  8 加入 

<Resources allowLinking="true" />

tomcat  7 加入 

<Context allowLinking="true" />

context.xml

<Context>

    <!-- Default set of monitored resources. If one of these changes, the    -->
    <!-- web application will be reloaded.                                   -->
    <WatchedResource>WEB-INF/web.xml</WatchedResource>
    <WatchedResource>${catalina.base}/conf/web.xml</WatchedResource>
	<Resources allowLinking="true" />
    <!-- Uncomment this to disable session persistence across Tomcat restarts -->
    <!--
    <Manager pathname="" />	
    -->
 <Valve className="com.naritech.nicole.gump.RedisSessionHandlerValve" />
   <Manager className="com.naritech.nicole.gump.RedisSessionManager"
     host="127.0.0.1"
     port="6379"
     database="0"
     maxInactiveInterval="60"
     />


	</Context>

 

6 启动tomcat

session相同 tomcat不同

 

然后下面我们用nginx进行分派发送给tomcat集群

 

7 先启动nginx 

cmd  进入解压后的nginx 目录下 start nginx 

启动成功(说明nginx是正常的)

接下来设置配置文件nginx.conf ,用于分派给tomcat集群

8 启动redis 

9 重启nginx

打开浏览器输入访问的url   http://localhost:9090/Test/ 

多次刷新会发现在两个页面之间切换,但是session是相同的  tomcat页面1和2相互之间进行切换

 

10 查看redis里的session值 

 

 

以上是tomcat集群,如有错误,请指出。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

TizzyGoodhealth

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值