Nginx高可用配置

本文介绍了在两台已安装并启动nginx的虚拟机上配置高可用的方法。先分别在两台机器上安装keepalived,接着进入相关目录对主、从节点的keepalived.conf文件进行配置,还需新建脚本文件检测nginx服务,最终完成两台nginx高可用配置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我这里用两台虚拟机配置高可用

前提是两台虚拟机上都已经安装了nginx,并且正常启动

安装nginx:Nginx安装与启动

安装keepalived

分别在两台机器上安装keepalived

输入命令:

yum install keepalived -y

查看是否安装成功,输入命令:

rpm -q -a keepalived

出现以下就代表安装keepalived成功

rpm -q -a keepalived

配置keepalived

进入/etc/keepalived目录,打开keepalived.conf文件,删掉所有内容,主节点复制以下内容

#全局配置
global_defs {
    router_id lb201 #服务器域名名字,可在/etc/hosts中查看127.0.0.1映射的域名
}

#脚本配置
vrrp_script chk_http_port {
    script "/usr/local/src/nginx_check.sh"#脚本路径
    interval 2 #(检测脚本执行的间隔);每隔2s检查一次
    weight 2 #设置服务器权重
}

#虚拟ip的配置
vrrp_instance laowang {
        state MASTER # Master为Master;Salve为BACKUP
        interface ens33 #网卡;可以用ip addr 看网卡名
        virtual_router_id 51 # 主、备机的 virtual_router_id 必须相同
        priority 100 # 主、备机取不同的优先级,主机值较大,备份机值较小
        advert_int 1 #每1s发送一次心跳
        authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.73.250 // VRRP H 虚拟ip地址,多台keepalived绑定一个ip;必须同一网段
    }
}

从节点复制以下内容

#全局配置
global_defs {
    router_id lb202 #服务器域名名字,可在/etc/hosts中查看127.0.0.1映射的域名
}

#脚本配置
vrrp_script chk_http_port {
    script "/usr/local/src/nginx_check.sh"#脚本路径
    interval 2 #(检测脚本执行的间隔);每隔2s检查一次
    weight 2 #设置服务器权重
}

#虚拟ip的配置
vrrp_instance laowang {
        state BACKUP # Master为Master;Salve为BACKUP
        interface ens33 #网卡;可以用ip addr 看网卡名
        virtual_router_id 51 # 主、备机的 virtual_router_id 必须相同
        priority 90 # 主、备机取不同的优先级,主机值较大,备份机值较小
        advert_int 1 #每1s发送一次心跳
        authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.73.250 // VRRP H 虚拟ip地址,多台keepalived绑定一个ip;必须同一网段
    }
}

新建一个脚本文件,文件名为nginx_check.sh,复制以下代码

#!/bin/bash
A=`ps -C nginx ĘCno-header |wc -l`
if [ $A -eq 0 ];then
    /usr/local/software/nginx/sbin/nginx  #nginx的安装路径
    sleep 2
    if [ `ps -C nginx --no-header |wc -l` -eq 0 ];then
        killall keepalived
    fi
fi

然后把此文件分别放在每台虚拟机的/usr/local/src目录下,脚本文件的作用是检测nignx服务是否正常运行。

完成两台nginx高可用配置。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值