nginx +tomcat7+redis 实现负载部署-笔记

本文介绍如何利用Nginx、Tomcat和Redis实现用户无感知的服务更新和重启。通过配置,可在不中断用户体验的情况下进行服务升级。具体包括Redis的安装与服务管理、Tomcat的jar包集成及配置调整、以及Nginx的负载均衡设置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.资源下载

https://pan.baidu.com/s/1Egh0cHXc2yeAcfzEM_3iwA

2.目的

主要为了实现用户无感知的更新和重启服务,技术实现主要基于nginx+tomcat7+redis来实现;原理如下图:
在这里插入图片描述

3.配置步骤说明

3.1 redis 安装

本文Redis下载地址: https://github.com/MSOpenTech/redis/releases 本次使用Redis版本用的是Redis3.2.100

window下redis服务的安装步骤如下:

本次使用默认服务

1.进入Redis安装包目录,注册服务

redis-server.exe --service-install redis.windows.conf --loglevel verbose

备注:通过以上面命令,会在window Service列表出现”Redis”服务,但此服务不是启动状态,需要调下面命令启动服务。

    启动服务:redis-server.exe
    客户端调用: redis-cli.exe -h 127.0.0.1 -p 6379
    停止服务:redis-server.exe  --service-stop
    卸载服务: redis-server.exe  --service-uninstall

3.2.tomcat7配置

把三个jar拷贝到tomcat的lib目录下:

commons-pool2-2.4.2.jar

jedis-2.9.0.jar

tomcat-redis-session-manager-2.0.0.jar

在tomcat的\conf目录下的context.xml 添加如下内容:

<Valve className="com.orangefunction.tomcat.redissessions.RedisSessionHandlerValve" />
    <Manager className="com.orangefunction.tomcat.redissessions.RedisSessionManager"
       host="localhost"
       port="6379"
       database="0"
       maxInactiveInterval="60" />

设置不同的tomcat的访问端口;案例分别用 8080 9090 9091三个端口

3.3 nginx 配置

在nginx-1.8.1\conf目录下的nginx.conf文件添加如下的配置

 upstream localhost{
	  server localhost:9091 down;
	  server localhost:8080 weight=1;
	  server localhost:9090 weight=1 max_fails=1 fail_timeout=2s;
	  #server localhost:9091 backup;
	  
	}
	
    server {
        listen       8090;
        server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location ^~ /{
			proxy_pass http://localhost;
			proxy_set_header Host $http_host;
			proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;  
			proxy_set_header X-Real-IP $remote_addr;  
			proxy_set_header Request-Url $request_uri;
			proxy_connect_timeout       1;
			proxy_read_timeout          1;
			proxy_send_timeout          1;
		}
		
        #error_page  404              /404.html;
        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }

需要注意的事

此jar包并不支持tomcat8,若想支持tomcat8可参考此博文:
https://blog.youkuaiyun.com/github_39577257/article/details/80833704#comments

或者使用这个tomcat-cluster-redis-session-manager插件,支持tomcat7、8、9
插件地址见:
https://github.com/ran-jit/tomcat-cluster-redis-session-manager
下载jar包,操作也比较简单。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值