keepalived高可用LVS与Nginx 推荐
2017-02-11 13:02
381 查看
一、Keepalived
keepalived前提准备见上文 --> Keepalived基础配置
二、keepalived高可用LVS
keepalived能够根据配置文件生成ipvs规则,同时可以对后端各RS做健康状态检测
1、实验清单
director1: node1 192.168.0.40
director2: Nginx 192.168.0.108
Vip:192.168.0.80
RS1(httpd):192.168.0.100
RS2(httpd):192.168.0.101
2、配置文件
二、高可用Nginx
1、在Nginx主机上配置反向代理upstream
2、配置keepalived,加入如下配置
keepalived前提准备见上文 --> Keepalived基础配置
二、keepalived高可用LVS
keepalived能够根据配置文件生成ipvs规则,同时可以对后端各RS做健康状态检测
1、实验清单
director1: node1 192.168.0.40
director2: Nginx 192.168.0.108
Vip:192.168.0.80
RS1(httpd):192.168.0.100
RS2(httpd):192.168.0.101
2、配置文件
[root@Nginx ~]# cd /etc/keepalived/ [root@Nginx keepalived]# vim keepalived.conf ! Configuration File for keepalived global_defs { notification_email { root@localhost } notification_email_from kaadmin@localhost smtp_server 127.0.0.1 smtp_connect_timeout 30 router_id LVS_DEVEL } vrrp_script chk_mt { script "[[ -f /etc/keepalived/down ]] && exit 1 || exit 0" interval 1 weight -2 } vrrp_instance VI_1 { state MASTER #node1须修改为BACKUP interface eth0 virtual_router_id 51 priority 100 #node1降低优先级 advert_int 1 authentication { auth_type PASS auth_pass 71988d704dcae985 } virtual_ipaddress { 192.168.0.80/32 } track_script { chk_mt } notify_master "/etc/keepalived/notify.sh master" notify_backup "/etc/keepalived/notify.sh backup" notify_fault "/etc/keepalived/notify.sh fault" } virtual_server 192.168.0.80 80 { delay_loop 6 #服务器轮询6次超时 lb_algo rr #LVS调度算法 lb_kind DR #LVS转发方法 nat_mask 255.255.255.0 #掩码 persistence_timeout 50 #长链接时间 protocol TCP #tcp协议 ha_suspend #在无vip情形下,不再进行健康状态检测 sorry_server 127.0.0.1 80 #当RS全宕机时,sorry_server提供错误页面 real_server 192.168.0.100 80 { #RS的ip,端口 weight 1 #权重 HTTP_GET { #检测类型,这里是HTTP_GET url { #检测请求的类型,这里是状态检测 path / status_code 200 } connect_timeout 3 #连接超时时间 nb_get_retry 3 #重试次数 delay_before_retry 3 #重试前延迟时间 } } real_server 192.168.0.101 80 { weight 2 HTTP_GET { url { path / status_code 200 } connect_timeout 3 nb_get_retry 3 delay_before_retry 3 } } }3、定义状态转变后发邮件的notify脚本(来自马哥文档)
#!/bin/bash # vip=192.168.0.80 contact='root@localhost' notify() { mailsubject="`hostname` to be $1: $vip floating" mailbody="`date '+%F %H:%M:%S'`: vrrp transition, `hostname` changed to be $1" echo $mailbody | mail -s "$mailsubject" $contact } case "$1" in master) notify master exit 0 ;; backup) notify backup exit 0 ;; fault) notify fault exit 0 ;; *) echo 'Usage: `basename $0` {master|backup|fault}' exit 1 ;; esac
二、高可用Nginx
1、在Nginx主机上配置反向代理upstream
http区段配置 upstream nodeserver{ server 192.168.0.30; server 192.168.0.40; } server区段配置 location / { proxy_pass http://nodeserver; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; add_header X-Cache $upstream_cache_status; }
2、配置keepalived,加入如下配置
global_defs { notification_email { root@localhost } notification_email_from kaadmin@localhost smtp_server 127.0.0.1 smtp_connect_timeout 30 router_id LVS_DEVEL } vrrp_script chk_nginx { script "killall -0 nginx &> /dev/null" interval 1 weight -10 } vrrp_instance VI_1 { state MASTER interface eth0 virtual_router_id 51 priority 100 advert_int 1 authentication { auth_type PASS auth_pass 71988d704dcae985 } virtual_ipaddress { 192.168.0.80/32 } track_script { chk_nginx } notify_master "/etc/keepalived/notify.sh master" notify_backup "/etc/keepalived/notify.sh backup" notify_fault "/etc/keepalived/notify.sh fault" }
相关文章推荐
- keepalived原理及keepalived+nginx的高可用、keepalived+lvs_DR负载均衡、keepalived高可用双主模型实例
- LVS+keepalived+nginx+tomcat部署实现 推荐
- keepalived+lvs/nginx 实现调度器高可用
- NginX+keepalived实现高可用 推荐
- 利用LVS+Keepalived 实现高性能高可用负载均衡服务器 推荐
- keepalived实现nginx与lvs高可用
- 基于keepalived实现LVS高可用以及Web服务高可用 推荐
- keepalived整合lvs实现nginx高可用负载均衡
- LVS+keeplived+nginx+tomcat高可用、高性能jsp集群 推荐
- (2)LVS+Keepalived+nginx高可用负载均衡架构原理及配置
- Nginx+Tomcat+lvs+Keepalived搭建的高可用架构
- 高可用web架构: LVS+keepalived+nginx+apache+php+eaccelerator(+nfs可选 可不选)
- Lvs+Keepalived+MySQL Cluster架设高可用负载均衡Mysql集群 推荐
- 基于keepalived实现LVS的高可用 推荐
- lvs + keepalived + httpd DR模式web层高可用方案架构 推荐
- VIP和RIP不同网段的LVS和keepalived高可用 推荐
- LVS+KeepAlived,RabbitMQ高可用负载均衡 推荐
- 如何实现Nginx+Keepalived中Nginx进程的高可用 推荐
- lvs + keepalived + nginx + tomcat高可用负载反向代理服务器配置(二) LVS+Keepalived
- 基于keepalived 实现VIP转移,lvs,nginx的高可用