Rocky linux 9.4 安装Nginx 1.25.0 和 keepalived

一、Nginx

# 1.  Nginx下载
wget https://repo.huaweicloud.com/nginx/nginx-1.25.0.tar.gz
# 2、安装编译工具及库文件
yum -y install make zlib zlib-devel gcc-c++ libtool  openssl openssl-devel pcre-devel
# 3、 解压
tar -zxvf nginx-1.25.0.tar.gz
# 4、进入解压目录
cd nginx-1.25.0
# 5、编译安装nginx,默认安装到 /usr/local/nginx中
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
# 6、安装
make && make install
# 7、配置开机自启动
vim /usr/lib/systemd/system/nginx.service
# 8、粘贴以下脚本
[Unit]
Description=nginx service
After=network.target 
[Service]
Type=forking 
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s quit
PrivateTmp=true
[Install]
WantedBy=multi-user.target
# 9、重新加载
systemctl daemon-reload
# 10、设置nginx服务开机自启
systemctl enable nginx
# 11、启动nginx
systemctl start nginx
# 12、查看服务状态
systemctl status nginx

image

二、Keepalived

一、安装

# 1、安装依赖包
yum install -y curl gcc openssl-devel libnl3-devel net-snmp-devel
# 2、安装keepalived
yum install -y keepalived

二、编写配置脚本(主节点)

vi /etc/keepalived/keepalived.conf
 # 粘贴以下代码
! Configuration File for keepalived
# 全局配置,路由ID,固定不变
global_defs {
    router_id LVS_DEVEL
}
# 定义Nginx状态脚本
vrrp_script chk_nginx {
    script "/etc/keepalived/check_nginx.sh" 
    # 间隔时间,单位为秒,默认1秒
    interval 2 
    # 权重,当脚本成功或失败对当前节点的优先级是增加还是减少
    weight -5 
}

#VRRP实例
vrrp_instance VI_1 {
    # 主节点
    state MASTER
    # 绑定的网卡,使用ifconfig命令查看获取
    interface enp1s0
    # 虚拟路由id,保证相同
    virtual_router_id 51
    # 优先级,抢占模式下优先级高的称为主
    priority 150
    # 指定发送VRRP通告的间隔。单位是秒。
    advert_int 1
    # 安全认证用的密码,自定义即可
    authentication {
        auth_type PASS
        auth_pass 1111
    }

    # 对外暴露的VIP地址
    virtual_ipaddress {
        10.101.27.241
    }

    # 指定Nginx执行状态脚本
    track_script {
       chk_nginx 
    }
}

四、编写心跳监听Nginx脚本

#!/bin/bash
counter=$(ps -C nginx --no-heading|wc -l)
if [ "${counter}" = "0" ]; then
    systemctl restart nginx
    sleep 2
    counter=$(ps -C nginx --no-heading|wc -l)
    if [ "${counter}" = "0" ]; then
        systemctl stop keepalived
    fi
fi

五、备用节点

! Configuration File for keepalived
global_defs {
    router_id LVS_DEVEL
}

vrrp_script chk_nginx {
    script "/etc/keepalived/check_nginx.sh"
    interval 2
    weight -5
}

vrrp_instance VI_1 {
    # 初始角色Backup
    state BACKUP
    interface enp1s0
    virtual_router_id 51
    # 优先级比master低
    priority 50
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        10.101.27.241
    }
    track_script {
       chk_nginx
    }
}

六、开机自启

systemctl enable keepalived
systemctl start keepalived
systemctl restart keepalived
systemctl status keepalived

七、验证

image

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值