|
|
51CTO旗下网站
|
|
移动端

辅助nginx负载均衡器的配置说明

本文主要根据前文的配置之后,对辅nginx负载均衡器进行命令的说明。同样,我们先来检查下状态,之后是安装方式,和日志检查。那么更具体的内容,请浏览下文。

作者:抚琴煮酒来源:互联网|2010-05-04 13:32

nginx负载均衡器是一个很好很节约成本的一种选择,多数用在中小型的企业之中。前面我们对nginx负载均衡器的主机进行了详细的配置说明,现在就来对辅nginx负载均衡器来做配置介绍。大致的配置过程基本相同,首先我们可以检查一下它们的启用状态,详细的命令代码如下:

  1. [root@ltos html]# ip a  
  2.  
  3. 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue   
  4. link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00  
  5. inet 127.0.0.1/8 scope host lo  
  6. inet6 ::1/128 scope host   
  7. valid_lft forever preferred_lft forever  
  8.  
  9. 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast qlen 1000  
  10. link/ether 00:0c:29:ba:9b:e7 brd ff:ff:ff:ff:ff:ff  
  11. inet 192.168.0.154/24 brd 192.168.0.255 scope global eth0  
  12. inet 192.168.0.188/32 scope global eth0  
  13. inet6 fe80::20c:29ff:feba:9be7/64 scope link   
  14. valid_lft forever preferred_lft forever  
  15.  
  16. 3: sit0: <NOARP> mtu 1480 qdisc noop   
  17. link/sit 0.0.0.0 brd 0.0.0.0 

说明vip已经启动,这样主服务器就配置好了,辅机的配置大致一样,除了配置文件有少部分的变化,下面贴出辅nginx负载均衡器的配置文件:

  1. ! Configuration File for keepalived  
  2. global_defs {  
  3.  notification_email {  
  4.  yuhongchun027@163.com  
  5.  }  
  6.  notification_email_from keepalived@chtopnet.com  
  7.  smtp_server 127.0.0.1  
  8.  smtp_connect_timeout 30  
  9.  router_id LVS_DEVEL  
  10. }  
  11. vrrp_instance VI_1 {  
  12. state BACKUP  
  13. interface eth0  
  14. virtual_router_id 51  
  15. mcast_src_ip 192.168.0.155<==辅nginx负载均衡器的IP的地址  
  16. priority 100  
  17. advert_int 1  
  18. authentication {  
  19.  auth_type PASS  
  20.  auth_pass chtopnet  
  21. }  
  22. virtual_ipaddress {  
  23.  192.168.0.188<==vip地址  
  24. }  

检查辅nginx负载均衡器配置

  1. [root@ltos html]# ip a  
  2.  
  3. 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue   
  4. link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00  
  5. inet 127.0.0.1/8 scope host lo  
  6. inet6 ::1/128 scope host   
  7. valid_lft forever preferred_lft forever  
  8.  
  9. 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast qlen 1000  
  10. link/ether 00:0c:29:ba:9b:e7 brd ff:ff:ff:ff:ff:ff  
  11. inet 192.168.0.155/24 brd 192.168.0.255 scope global eth0  
  12. inet 192.168.0.188/32 scope global eth0  
  13. inet6 fe80::20c:29ff:feba:9be7/64 scope link   
  14. valid_lft forever preferred_lft forever  
  15.  
  16. 3: sit0: <NOARP> mtu 1480 qdisc noop   
  17. link/sit 0.0.0.0 brd 0.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/手机短信报警的方式更为高效。

【责任编辑:佟媛微 TEL:(010)68476606】

点赞 0
分享:
大家都在看
猜你喜欢

订阅专栏+更多

笑熬浆糊之职场那些事

笑熬浆糊之职场那些事

IT人的职场心法
共22章 | Bear_Boss

62人订阅学习

Redis运维秘籍

Redis运维秘籍

运维标配技术
共15章 | one叶孤舟

133人订阅学习

活学活用 Ubuntu Server

活学活用 Ubuntu Server

实战直通车
共35章 | UbuntuServer

247人订阅学习

读 书 +更多

Linux安全体系分析与编程

本书选择经典的开放源代码,全面系统地分析了Linux安全机制。本书共有17章,前10章着重介绍了Linux操作系统的安全机制及实现方法,阐述了公...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊

51CTO服务号

51CTO播客