nginx搭建(高可用)

先说下通过keepalived实现高可用的原理:

我们通过对主机和备用机绑定一个虚拟的ip 我们这里叫做vip,访问vip就等于访问ip,

 然后让他们可以间接的挂钩。(这里做的就是把两张网卡都绑定上一个虚拟的vip)

但是我们对外公布的不在是nginx主机ip了 而是我们的虚拟vip了。让用户通过虚拟的vip访问我们的网站。因为我们是把vip和我们的nginx主机ip绑定的,而nginx主机又是和我们两台网站服务器绑定的。

所以就可以形成这么一个回路

nginx搭建(高可用)
 

nginx搭建(高并发)问题解决了。但是我们高可用还没有解决,如果我们的nginx挂了那就也完蛋了。

下面我们就来搭建keepalived来应对nginx服务起宕机的问题也就是高可用

系统环境问题没有变化,还是上文的系统环境。

我们只需要安装keepalived-1.2.13-5.el6_6.i686.rpm 就可以了

rpm -ivh keepalived-1.2.13-5.el6_6.i686.rpm 自动安装完成

 

然后配置keepalived的配置文件 /etc/keepalived/keepalived.conf  把文件清空通过快捷命令

“> /etc/keepalived/keepalived.conf  “此命令是初始化此文件

然后把这段文字拷贝进去

//---------------------------------------

global_defs {
   notification_email {
     XXX@XXX.com
   }
   notification_email_from XXX@XXX.com
   #smtp_server XXX.smtp.com
   #smtp_connect_timeout 30
   router_id LVS_DEVEL
}

vrrp_instance VI_1 {
    state BACKUP
    interface eth2
    virtual_router_id 51
    priority 99
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 8888
    }
    virtual_ipaddress {
        192.168.200.201
    }
}

//--------------------------------------

notification_email  这个代码块头的意思是当服务器挂掉了 给那个邮箱发邮件,这里我们不需要所以不用写了

vrrp_instance VI_1 这个代码块的在初始化的时候执行的

                           -----priority 100 这个是优先级越高月有限访问他(主机是100 备机 小于100即可)

                            --- interface eth2他的意思是给那个网卡绑定。(通过ifconfig看看自己的机器网卡名字)

 virtual_ipaddress  这个就是要绑定的虚拟vip 也就是用户要访问的vip

搭建好了以后我们启动 通过ip add show eth2 命令就可以开到我们已经为这个网卡绑了两个ip

nginx搭建(高可用)

本来是只有一个ip的。现在201是我们绑定的vip

我们通过访问201已可以达到访问133的目的。

备用机同理如此配置 但是priority要改的小一点 。

这时候当主机keepalived挂掉就会用备用机的keepalived,

有个问题是需要注意的。keepalived挂掉会热切,但是nginx挂掉keepalived是不会热切,导致还是无妨访问网站,所以还要解决这个小问题(这里的热切是指,把这个vip挂到网卡上面。这样访问vip就等于访问的备机)

我们需要写一个小脚本

这个脚本就是当nginx挂掉的时候,让keepalived也挂掉(注意修改check_nginx.sh的权限 改成7--即可,或者更高777)这时候就不会出现上面的热切问题了。

自创脚本名为check_nginx.sh 放在keepalived.conf同目录中

脚本内容

//--------------------------
A=`ps -C nginx --no-header |wc -l`
if [ $A -eq 0 ];then
       service keepalived stop
fi

//---------------------------

有了这个脚本后,但是还差一步就是有人去执行他,现在是没人执行的状态,需要在keepalived.conf中添加如下注意红色部分为新添加(文档格式要注意)

nginx搭建(高可用)


自始至终我们都是在和keep.conf配置文件打交道 外加一个脚本

这个脚本只需要在主机中配置。因为主机的优先级高,如果主机存在就不会去访问备机。当访问备机的时候,主机是肯定挂了。这时候我们就需要去处理主机,当我们重新启动主机后,备机还会恢复以前的待命状态。把责任全权的交给主机。所以不用配备机。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值