zoukankan      html  css  js  c++  java
  • Nginx+keepalived配置实现nginx服务器高可用

    前一篇帖子里,把nginx在linux里的安装部署搞完了,现在接着安装配置keepalived。

    1、keepalived主要用来防止服务器单点故障。简单来说,需要在两台nginx服务器上都安装上keepalived,设置为一主一备(或者多台备份服务器),主服务器工作,备份服务器不工作;当主服务器故障时,备份服务器根据预设规则选举出一台新的主服务器顶上,直到原来的主服务器活过来。对于客户端来说,直接访问的ip地址并不是主服务器或者备份服务器的ip,而是一个虚拟ip,这样不管哪台服务器出现故障,只要还有一台服务器可用,客户端是感知不到的。keepalived是通过实现VRRP协议来达到这个效果的,具体可自行百度。

    2、nginx服务器两台:172.16.170.41(备份)、172.16.170.41(主),通过keepalived虚拟对外的服务地址172.16.170.43

    3、安装keepalived:网上帖子一大把,参考这个照做即可:https://www.cnblogs.com/yaboya/p/9107442.html。不过我的配置更简单,暂时没有涉及到检测nginx服务的死活、以及发生故障时邮件发送设置等内容。

    4、安装完了修改配置文件:vi /etc/keepalived/keepalived.conf 

      

      参数说明:

      router_id:服务器的路由标识,每台机器不同不要重复;

      state:路由状态,主服务器为MASTER,备份服务器为BACKUP;

      interface:服务器绑定的网卡;

      mcast_src_ip:广播源ip,就是服务器的实际ip地址;

      virtual_router_id:虚拟路由标识,两台服务器必须一样,而且得是0~255之间的数字;

      priority:优先级,数字越大优先级越高,应该就是根据这个在N个备份服务器里选举谁来临时当主服务器;

      advert_int:集群监控时间,单位为秒,默认是1秒,我们测试没必要这么高要求。意思是超过这个时间如果收不到MASTER还活着的消息,那么就要选举一个新的MSATER;

      auth_type、auth_pass:集群间通信用来验证身份的,配置成一样即可;

      virtual_ipaddress:统一对外提供的虚拟地址。

     5、配置完毕后两台机器分别重启服务,访问一下虚拟地址试试:

      

      OK了。再试一试关闭主服务器的keepalived服务(或者是直接关闭或重启centos服务器),看看备份服务器能不能顶上。

      关闭MASTER服务器服务: service keepalived stop 再看看:

      

      43还是OK的,说明配置起效了。再把备份服务器服务也关了再看看:

      

      说明刚才BACKUP确实起效了。OK,重启主备,服务恢复:

      

  • 相关阅读:
    多线程之同步代码块与同步函数
    图片上传客户端与服务端
    tcp上传学习二--文本文件上传
    javaScript编写9*9口诀
    tcp聊天
    udp聊天室--简易
    往sencha.cmd中恢复设计项时,不论是系统的还是应用的,恢复进去之后都应该一键发布到前端
    一个设计项上的按钮调另一个设计项的列表界面,同时加筛选条件
    点击【****】设计项上的某个按钮,直接调出另一个设计项的【编辑界面】
    前端向后端发送请求,后端返回的一个值的请求的ajax.get();方法
  • 原文地址:https://www.cnblogs.com/coldlight/p/11910958.html
Copyright © 2011-2022 走看看