Keepalived+Nginx主备切换实现高可用
2018-03-24 22:38
651 查看
Keepalived+Nginx主备切换实现高可用
Keepalived:
基于VRRP(虚拟路由器冗余协议)来实现对web服务的高可用方案
安装keepalived
0. 下载安装包,解压tar -zxvf xx,进入目录
1. ./configure --prefix=/data/program/keepalived --sysconf=/etc
2. 缺少依赖opensssl . yum install openssl-devel
3. 建立软链接 ln -s /data/program/keepalived/sbin/keepalived /sbin
4. ln -s /data/program/keepalived/sbin/keepalived /sbin
5. cp /data/program/keepalived-1.3.4/keepalived/etc/init.d/keepalived /etc/init.d/
6. 添加系统服务:chkconfig --add keepalived / chkconfig keepalived on
7. 服务开关 service keepalived start|stop..
keepalived日志文件配置
在/etc/rsyslog.conf里添加:local0.* /var/log/keepalived.log
重新启动keepalived和rsyslog服务:
service rsyslog restart
service keepalived restart
tail -f /var/log/keepalived.log 查看日志
keepalived+nginx实现双机热备
开发一个虚拟ip:192.168.130.100
配置两台nginx:ip192.168.130.130、131
修改Keepalived配置文件
vi /etc/keepalived/keepalived.conf
配置文件说明
1. vrrp_instance配置:state指定初始状态(主、备)。interface 为网卡名字。virtual_router_id 相同的为一个组。Priority为节点优先级,主的要大于备的。advert int 检查间隔,默认 1秒。auth type为认证方式。track_script 引用脚本。
2. virtual_server配置:delay_loop健康检查间隔。lb_algo 调度算法。 lb_kind负载均衡规则。 会话保持时间。Protocol使用的协议。
3. real_server配置:Weight 默认为1,0为失效。connect_timeout连接超时时间。nb_get_retry 重连次数。delay_before_retry 重连间隔时间。connect_port健康检查的端口的端口。
4. vrrp_script配置:interval脚本执行间隔。weight脚本优先级。script 脚本路径。
5.Nginx_service.sh判断nginx是否宕机,若宕机,结束Keepalived服务。
给脚本权限 chmod +x /data/program/nginx/sbin/nginx_service.sh
脚本内容:
#!/bin/sh
nginxPidNum=`ps-C nginx --no-header |wc -l`
keepalivedPidNum=`ps-C keepalived --no-header |wc -l`
if [$nginxPidNum -eq 0 ];then
killall keepalived
elif [$keepalivedPidNum -eq 0 ];then
service keepalived start
fi#p#分页标题#e#
Keepalived:
基于VRRP(虚拟路由器冗余协议)来实现对web服务的高可用方案
安装keepalived
0. 下载安装包,解压tar -zxvf xx,进入目录
1. ./configure --prefix=/data/program/keepalived --sysconf=/etc
2. 缺少依赖opensssl . yum install openssl-devel
3. 建立软链接 ln -s /data/program/keepalived/sbin/keepalived /sbin
4. ln -s /data/program/keepalived/sbin/keepalived /sbin
5. cp /data/program/keepalived-1.3.4/keepalived/etc/init.d/keepalived /etc/init.d/
6. 添加系统服务:chkconfig --add keepalived / chkconfig keepalived on
7. 服务开关 service keepalived start|stop..
keepalived日志文件配置
在/etc/rsyslog.conf里添加:local0.* /var/log/keepalived.log
重新启动keepalived和rsyslog服务:
service rsyslog restart
service keepalived restart
tail -f /var/log/keepalived.log 查看日志
keepalived+nginx实现双机热备
开发一个虚拟ip:192.168.130.100
配置两台nginx:ip192.168.130.130、131
修改Keepalived配置文件
vi /etc/keepalived/keepalived.conf
Master(主) Keepalived配置文件 | Backup(备) Keepalived配置文件 |
vrrp_script check { script "/data/program/nginx/sbin/nginx_service.sh" interval 2 weight -9 } global_defs { router_id LVS_DEVEL } vrrp_instance VI_1 { state MASTER interface ens33 virtual_router_id 51 priority 60 advert_int 1 authentication { auth_type PASS auth_pass 2222 } virtual_ipaddress { 192.168.232.100 } track_script { check } } virtual_server 192.168.232.100 80 { delay_loop 5 lb_algo rr lb_kind NAT persistence_timeout 51 protocol TCP real_server 192.168.232.133 80 { weight 1 TCP_CHECK { connect_timeout 2 nb_get_retry 2 delay_before_retry 2 connect_port 80 }}} | vrrp_script check { script "/data/program/nginx/sbin/nginx_service.sh" interval 2 weight -9 } global_defs { router_id LVS_DEVEL } vrrp_instance VI_1 { state BACKUP interface ens33 virtual_router_id 51 priority 40 advert_int 1 authentication { auth_type PASS auth_pass 2222 } virtual_ipaddress { 192.168.232.100 } track_script { check } } virtual_server 192.168.232.100 80 { delay_loop 5 lb_algo rr lb_kind NAT persistence_timeout 51 protocol TCP real_server 192.168.232.132 80 { weight 1 TCP_CHECK { connect_timeout 2 nb_get_retry 2 delay_before_retry 2 connect_port 80 }}} |
配置文件说明
1. vrrp_instance配置:state指定初始状态(主、备)。interface 为网卡名字。virtual_router_id 相同的为一个组。Priority为节点优先级,主的要大于备的。advert int 检查间隔,默认 1秒。auth type为认证方式。track_script 引用脚本。
2. virtual_server配置:delay_loop健康检查间隔。lb_algo 调度算法。 lb_kind负载均衡规则。 会话保持时间。Protocol使用的协议。
3. real_server配置:Weight 默认为1,0为失效。connect_timeout连接超时时间。nb_get_retry 重连次数。delay_before_retry 重连间隔时间。connect_port健康检查的端口的端口。
4. vrrp_script配置:interval脚本执行间隔。weight脚本优先级。script 脚本路径。
5.Nginx_service.sh判断nginx是否宕机,若宕机,结束Keepalived服务。
给脚本权限 chmod +x /data/program/nginx/sbin/nginx_service.sh
脚本内容:
#!/bin/sh
nginxPidNum=`ps-C nginx --no-header |wc -l`
keepalivedPidNum=`ps-C keepalived --no-header |wc -l`
if [$nginxPidNum -eq 0 ];then
killall keepalived
elif [$keepalivedPidNum -eq 0 ];then
service keepalived start
fi#p#分页标题#e#
相关文章推荐
- Nginx之Keepalived实现高可用(双机热备+自动切换)-yellowcong
- Nginx+Keepalived实现高可用站点
- nginx+keepalived实现高可用。
- Keepalived+Nginx实现高可用
- Keepalived+Nginx实现前端负载均衡的高可用
- Centos 7部署docker+nginx+keepalived实现高可用web集群
- Keepalived+Nginx实现高可用(HA)
- nginx+keepalived实现高可用小型集群
- Keepalived实现Nginx与LVS高可用
- 智能一代云平台(十五):Keepalived+Nginx实现高可用,反向代理---Nginx安装及配置
- Nginx +keepalived+tomcat 实现高可用+负载均衡
- Keepalived + Nginx实现高可用 Web负载均衡
- keepalived整合lvs实现nginx高可用负载均衡
- nginx+keepalived高可用基础实现
- Keepalived+Nginx实现高可用(HA)
- Nginx+Keepalived实现站点高可用
- 结合keepalived实现redis群集高可用故障自动切换 推荐
- nginx实现请求的负载均衡 + keepalived实现nginx的高可用
- nginx+keepalived实现高可用
- Nginx+Keepalived实现网站高可用方案