Nginx之高可用(keepalived)

Nginx它作为反向代理服务器,可能出现宕机的情况,而由于其反向代理的特性,就会导致其他服务器无法被访问,这样项目就停止工作了。为了避免这种情况,我们可以借助keepalived工具来实现高可用。

什么是高可用:Nginx的高可用简单来说就是配置了两台(或更多)的nginx服务器,当主服务器宕机时,就会自动切换到备用服务器,从而保证项目的持续运行。

1. 准备两台nginx服务器.必须安装了nginx

2. 需要在每一个nginx服务器上安装keepalived

yum install keepalived  #安装keepalived

rpm -q -a keepalived # 检查是否安装keepalived

默认安装路径: /etc/keepalived

3. 修改keepalived的配置文件内容。

  vim /etc/keepalived/keepalived.conf

修改内容如下:

global_defs {
   notification_email {
     acassen@firewall.loc
     failover@firewall.loc
     sysadmin@firewall.loc
   }
   notification_email_from Alexandre.Cassen@firewall.loc
   smtp_server 192.168.0.11
   smtp_connect_timeout 30
   router_id 192.168.0.11
   #vrrp_skip_check_adv_addr
   #vrrp_strict
   #vrrp_garp_interval 0
   #vrrp_gna_interval 0
}

vrrp_script chk_http_port{
    script "/usr/local/src/nginx_check.sh"
    interval 2
    weight 2
}

vrrp_instance VI_1 {
    state backup
    interface ens33
    virtual_router_id 51
    priority 50
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.0.2
    }
}

4. nginx_check.sh脚本文件

vim /usr/local/src/nginx_check.sh


#!/bin/bash
# 检查是否开启nginx
A=`ps -C nginx --no-header |wc -l`
if [ $A -eq 0 ];then
    systemctl stop keepalived
fi

5. 测试

5.1 开启两台nginx服务并启动keepalived

systemctl stop keepalived

systemctl start keepalived

systemctl restart keepalived

分别关闭keepalived,进行测试,通过

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值