nginx负载均衡器是一个很好很节约成本的一种选择,多数用在中小型的企业之中。前面我们对nginx负载均衡器的主机进行了详细的配置说明,现在就来对辅nginx负载均衡器来做配置介绍。大致的配置过程基本相同,首先我们可以检查一下它们的启用状态,详细的命令代码如下:
[root@ltoshtml]#ipa 1:lo:LOOPBACK,UP,LOWER_UP>mtu16436qdiscnoqueue link/loopback00:00:00:00:00:00brd00:00:00:00:00:00 inet127.0.0.1/8scopehostlo inet6::1/128scopehost valid_lftforeverpreferred_lftforever 2:eth0:BROADCAST,MULTICAST,UP,LOWER_UP>mtu1500qdiscpfifo_fastqlen1000 link/ether00:0c:29:ba:9b:e7brdff:ff:ff:ff:ff:ff inet192.168.0.154/24brd192.168.0.255scopeglobaleth0 inet192.168.0.188/32scopeglobaleth0 inet6fe80::20c:29ff:feba:9be7/64scopelink valid_lftforeverpreferred_lftforever 3:sit0:NOARP>mtu1480qdiscnoop link/sit0.0.0.0brd0.0.0.0
说明vip已经启动,这样主服务器就配置好了,辅机的配置大致一样,除了配置文件有少部分的变化,下面贴出辅nginx负载均衡器的配置文件:
!ConfigurationFileforkeepalived global_defs{ notification_email{ yuhongchun027@163.com } notification_email_fromkeepalived@chtopnet.com smtp_server127.0.0.1 smtp_connect_timeout30 router_idLVS_DEVEL } vrrp_instanceVI_1{ stateBACKUP interfaceeth0 virtual_router_id51 mcast_src_ip192.168.0.155==辅nginx负载均衡器的IP的地址 priority100 advert_int1 authentication{ auth_typePASS auth_passchtopnet } virtual_ipaddress{ 192.168.0.188==vip地址 } }
#p#检查辅nginx负载均衡器配置
[root@ltoshtml]#ipa 1:lo:LOOPBACK,UP,LOWER_UP>mtu16436qdiscnoqueue link/loopback00:00:00:00:00:00brd00:00:00:00:00:00 inet127.0.0.1/8scopehostlo inet6::1/128scopehost valid_lftforeverpreferred_lftforever 2:eth0:BROADCAST,MULTICAST,UP,LOWER_UP>mtu1500qdiscpfifo_fastqlen1000 link/ether00:0c:29:ba:9b:e7brdff:ff:ff:ff:ff:ff inet192.168.0.155/24brd192.168.0.255scopeglobaleth0 inet192.168.0.188/32scopeglobaleth0 inet6fe80::20c:29ff:feba:9be7/64scopelink valid_lftforeverpreferred_lftforever 3:sit0:NOARP>mtu1480qdiscnoop link/sit0.0.0.0brd0.0.0.0
测试其效果方法很简单,分别在主、辅nginx负载均衡器上/var/www/html/下建立不同的主页及内容文件index.html,内容分别为192.168.0.154,192.168.0.155,然后用客户机上elinks http://192.168.0.188,主机down掉后辅机会马上接替提供服务,间隔时间几乎无法感觉出来;但如果是停掉master的nginx服务,keepalived就不能自动启动nginx服务了,这个也是相对于heartbeat2.X不完善的地方,即它不能做到服务级别-Nginx的HA。
◆这里要说明的是:
一、如何让master状态的主机挂掉后不抢占的办法:可将二台Nginx负载均衡器均设成backup状态是因为nopreempt(不抢占)只支持backup模式,而让哪一台backup成为master,这个由优先级priority为决定,这个配置是参考了《Keepalived权威指南》做法。
二、此种架构的缺点是备机服务器处于闲置状态,浪费了硬件资源,如果要有效的利用二台nginx负载均衡器,可参考张宴的金山逍遥网nginx负载均衡的双机热备的做法。
三、keepalived比较heartbeat2.X而言,它目前不能做nginx服务的HA,但由于目前nginx作反向代理/负载均衡器非常稳定,出现宕机的机率微乎其乎(关键是nginx的master进程超稳定),我做的一些基于nginx负载均衡的小项目已在线稳定一年以上(几乎从来没出现单nginx负载均衡挂掉的情况),所以这个可以应用于成熟的生产环境(例如新浪);在生产环境下,比起用shell脚本监控nginx的master状态,反而效果不如采用nagios/手机短信报警的方式更为高效。
转载请注明:IT运维空间 » 运维技术 » 辅助nginx负载均衡器的配置说明
发表评论