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

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.csdn.net/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包,操作也比较简单。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
您好!对于您提到的keepalived、nginx、tomcat、redis和mysql,这些是常用于构建高可用和负载均衡的Web应用架构的关键组件。 1. Keepalived:Keepalived是一种开源的高可用解决方案,可以提供IP地址和服务的故障转移。它通常与负载均衡器(如Nginx)一起使用,以确保当主服务器故障时,备份服务器可以接管服务。 2. NginxNginx是一款高性能的开源Web服务器和反向代理服务器。它可以作为负载均衡器,在多个后端服务器(如Tomcat、Redis和MySQL)之间分发请求,并提供静态文件的高效传输。 3. Tomcat:Tomcat是Java Servlet容器,用于部署和运行Java Web应用程序。它可以作为应用服务器与Nginx配合使用,通过反向代理将请求分发到多个Tomcat实例,以实现负载均衡和高可用性。 4. RedisRedis是一种基于内存的开源键值存储数据库,被广泛用于缓存、会话存储和消息队列等场景。在Web应用架构中,Redis可以作为缓存层,提高数据读取速度,并减轻后端数据库(如MySQL)的负载。 5. MySQL:MySQL是一种流行的开源关系型数据库管理系统,常用于存储应用程序的持久化数据。它可以与Tomcat结合使用,作为后端数据库存储和管理数据。 以上是对keepalived、nginx、tomcat、redis和mysql的简要介绍,它们在Web应用架构中扮演着不同的角色,以提供高可用、高性能和负载均衡的服务。如果您对其中任何一个组件有更具体的问题,我很乐意为您解答。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值