Linux学习-keepalived+nginx+Tomcat+redis实现高可用和Session共享

本文介绍了如何在两台Centos主机上使用Keepalived实现VRRP高可用,配置Nginx作为反射代理进行负载均衡,并结合Tomcat和Redis实现实时session共享。通过实例详细展示了环境准备、配置文件和应用部署步骤。

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

通过keepalived实现系统的高可用,nginx反射代理实现负载均衡,Tomcat+Redis实现session的共享

环境准备
#---两台Centos主机
tomcat1:192.168.115.160
tomcat2:192.168.115.161
#---两台Centos主机
#在centos主机上分别安装keepalived,nginx,tomcat

在这里插入图片描述

keepalived配置
#------------------------keepalived配置----------------------
#keepalived配置(/etc/keepalived/keepalived.conf)--tomcat1
! Configuration File for keepalived

global_defs {
   notification_email {
     xuwenpeng3@163.com
   }
   notification_email_from xuwenpeng3@163.com
   smtp_server smtp.163.com
   smtp_connect_timeout 30
   router_id tye_master
   vrrp_skip_check_adv_addr
   vrrp_strict
   vrrp_garp_interval 0
   vrrp_gna_interval 0
}

vrrp_instance TYE {
    state MASTER
    interface ens33
    virtual_router_id 10
    priority 240
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 123456
    }
    virtual_ipaddress {
        192.168.115.200/24  dev ens33
    }
}
#keepalived配置(/etc/keepalived/keepalived.conf)--tomcat2
! Configuration File for keepalived

global_defs {
   notification_email {
     xuwenpeng3@163.com
   }
   notification_email_from xuwenpeng3@163.com
   smtp_server smtp.163.com
   smtp_connect_timeout 30
   router_id tye_backup
   vrrp_skip_check_adv_addr
   vrrp_strict
   vrrp_garp_interval 0
   vrrp_gna_interval 0
}

vrrp_instance TYE {
    state BACKUP
    interface ens33
    virtual_router_id 10
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 123456
    }
    virtual_ipaddress {
        192.168.115.200/24  dev ens33
    }
}
#------------------------keepalived配置----------------------
Nginx配置
worker_processes  1;
pid        logs/nginx.pid;
events {
    worker_connections  1024;
}
http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;
    upstream tomcatserver {
        server 192.168.115.160:8080 weight=2;
        server 192.168.115.161:8080 weight=1;         
    }
    server {
        listen       80;
        server_name  localhost;
        location / {
            proxy_pass http://tomcatserver/tye;
            root   html;
            index  index.html index.htm;
        }

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
}
Tomcat配置

tomcat+redis(JAR包)

#配置tomcat共享session需要下载对应的jar包[tomcat+redis]()
<Valve className="com.s.tomcat.redissessions.RedisSessionHandlerValve" />

<Manager className="com.s.tomcat.redissessions.RedisSessionManager"
        host="192.168.115.160"    #redis服务器地址
        port="6379"               #redis服务器端口
        database="0"              #数据库名称
        password="tye0000"        #redis密码(远程连接需要给数据库设置密码)
        maxInactiveInterval="60" />
将war包放入tomcat的webapps目录,通过web浏览器访问,获得sessionID

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值