您的当前位置:首页Nginx Keepalived双主热备

Nginx Keepalived双主热备

来源:小侦探旅游网
Linux运维专家网-----http://www.linuxtone.orgNginx+Keepalived双主配置文件状态:[√]草稿[[]正式发布]正在修改文件标识:当前版本:作者:完成日期:V0.1Linuxtone.org-dennis2010年9月28日一.结构及配置约定1.nginx基本结构信息Nginx+keepalived(2台)192.168.6.206192.168.6.207nginxlb0nginxlb1192.168.6.208vip0lb0192.168.6.209vip1lb1域名:192.168.6.208test.linuxtone.org192.168.6.209test.linuxtone.org2.软件配置约定软件安装及配置文件约定:/etc/keepalived/keepalived.conf//keepalvied配置文件/usr/local/nginx/conf/nginx.conf//nginx主配置文件3.启动脚本/etc/rc.local/usr/local/nginx/sbin/nginx/etc/init.d/keepalivedstart二.Keepalived配置1.nginx负均衡lb0服务器配置nginxlb0(192.168.6.206)#vi/etc/keepalived/keepalived.conf!ConfigurationFileforkeepalived#writtenby:Dennisglobal_defs{router_idNginx_Id_1}Linux运维专家网-----http://www.linuxtone.orgLinux运维专家网-----http://www.linuxtone.orgvrrp_scriptchk_nginx{script\"/tmp/check_http.sh\"#定义检测脚本interval2weight2}vrrp_instanceNginx1{stateMASTERinterfaceeth0virtual_router_id51priority150authentication{auth_typePASSauth_pass1111}track_script{chk_nginx}virtual_ipaddress{192.168.6.208}}vrrp_instanceNginx2{stateBACKUPinterfaceeth0virtual_router_id52priority110authentication{auth_typePASSauth_pass1111}virtual_ipaddress{192.168.6.209}}检测脚本:[root@rootkeepalived]#cat/tmp/check_http.sh#!/bin/bashurl=\"http://192.168.6.206/index.html\"if[\"$status\"!=\"200\"];then/etc/init.d/keepalivedstopfiLinux运维专家网-----http://www.linuxtone.org#此为lb0上的脚本在lb1上这里的IP应该为192.168.6.207status=$(/usr/bin/curl-s--head\"$url\"|awk'/HTTP/{print$2}')#此实例的浮动IP#检查脚本#0-255在同一个instance中一致在整个vrrp中唯一#优先级,优先级最大的会成为master#定义一个实例#定义为master#检测间隔Linux运维专家网-----http://www.linuxtone.org注:以上脚本是判断如果主服务器上的nginx不正常,则马上停止主服务器的keepalived工作,IP会自动切换到从服务器上,keepalive只检测两个keepalived是否正常工作来决定切换vip,不使用此脚本如果nginx挂了就不会自动切换了2.Nginx负载均衡lb1服务器配置.Nginx负载均衡备份服务器(同时此服务器也担当其中的一台源服务器)192.168.6.207nginxlb1#vi/etc/keepalived/keepalived.conf!ConfigurationFileforkeepalived#writtenby:Dennisglobal_defs{router_idNginx_Id_2}vrrp_scriptchk_nginx{script\"/tmp/check_http.sh\"interval2weight2}vrrp_instanceNginx1{stateBACKUPinterfaceeth0virtual_router_id51priority110authentication{auth_typePASSauth_pass1111}virtual_ipaddress{192.168.6.208}}vrrp_instanceNginx2{stateMASTERinterfaceeth0virtual_router_id52priority150authentication{auth_typePASSauth_pass1111}track_script{chk_nginx}Linux运维专家网-----http://www.linuxtone.orgLinux运维专家网-----http://www.linuxtone.orgvirtual_ipaddress{192.168.6.209}}三,切换测试此架构是为了充分利用服务器,并负载均衡,两个vip使用DNS轮询的方式将域名test.linuxtone.org绑定到这两个IP上1.将nginxlb0上的nginx进程杀掉或down机,vip0会自动切换至nginxlb1上.2.当nginxlb0服务器恢复以后,vip0又切回lb0上,为了保持负载均衡.同理在lb1上测试结果一样四,补充说明1.此文档单纯是为了测试Nginx+KeepAlived双主,不涉及nginx配置2.两个VIP在应用正常的情况下一定要分布在两台机器上以达到负载均衡的目的,但是有可能在服务器故障恢复的时候出现session不能同步的问题,是瞬间现象,如果想要不抢占,请把MASTER设置成BACKUP,并添加参数nopreempt配图如下:当Lb0执行pkill-9nginx后在LB0上执行/usr/local/nginx/sbin/nginx启动nginx,并执行servicekeepalivedstart后:Linux运维专家网-----http://www.linuxtone.org

因篇幅问题不能全部显示,请点此查看更多更全内容