Nginx+keepalived配置的实现步骤

 更新时间:2025年05月13日 11:01:02   作者:向阳而生,一路生花  
本文主要介绍了Nginx+keepalived配置的实现步骤,实现配置Nginx和keepalived、编写脚本以及测试配置,具有一定的参考价值,感兴趣的可以了解一下

一、需要的服务

Nginx、keepalived、epel-release -y

二、安装命令

yum install -y keepalived

#安装nginx以及拓展源 

yum install epel-release -y

yum install -y nginx

三、配置web服务

1、web1的nginx配置

[root@nginx1 ~]# vim /etc/nginx/conf.d/web.conf 
server{
        listen 8080;
        root         /usr/share/nginx/html;
        index test.html;
}

[root@nginx1 ~]# echo "<h1>This is web1</h1>"  > /usr/share/nginx/html/test.html

2、web2的nginx配置

[root@nginx2 ~]# vim /etc/nginx/conf.d/web.conf 
server{
        listen 8080;
        root         /usr/share/nginx/html;
        index test.html;
}

[root@nginx2 ~]# echo "<h1>This is web2</h1>"  > /usr/share/nginx/html/test.html

3、#启动

nginx -t
nginx 

四、 配置keepalived

以192.168.95.128 作为web1的master,192.168.95.129 作为web2为例

 web1配置keepalived

vim /etc/keepalived/keepalived.conf
! Configuration File for keepalived
global_defs {
   notification_email {
     acassen@firewall.loc
     failover@firewall.loc
     sysadmin@firewall.loc
   }
   notification_email_from Alexandre.Cassen@firewall.loc
   smtp_server 192.168.95.128
   smtp_connect_timeout 30
   router_id LVS_DEVEL
   vrrp_skip_check_adv_addr
   vrrp_strict
   vrrp_garp_interval 0
   vrrp_gna_interval 0
}

vrrp_instance VI_1 {
    state MASTER
    interface eth0
    virtual_router_id 51
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.95.128
    }
}

virtual_server 192.168.95.128 443 {
    delay_loop 6
    lb_algo rr
    lb_kind NAT
    persistence_timeout 50
    protocol TCP

    real_server 192.168.95.128 443 {
        weight 1
        SSL_GET {
            url {
              path /
              digest ff20ad2481f97b1754ef3e12ecd3a9cc
            }
            url {
              path /mrtg/
              digest 9b3a0c85a887a256d6939da88aabd8cd
            }
            connect_timeout 3
            nb_get_retry 3
            delay_before_retry 3
        }
    }
}

web2配置keepalived 

vim /etc/keepalived/keepalived.conf
! Configuration File for keepalived
global_defs {
   notification_email {
     acassen@firewall.loc
     failover@firewall.loc
     sysadmin@firewall.loc
   }
   notification_email_from Alexandre.Cassen@firewall.loc
   smtp_server 192.168.95.129
   smtp_connect_timeout 30
   router_id LVS_DEVEL
   vrrp_skip_check_adv_addr
   vrrp_strict
   vrrp_garp_interval 0
   vrrp_gna_interval 0
}

vrrp_instance VI_1 {
    state BACKUP
    interface eth0
    virtual_router_id 51
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.95.129
    }
}

virtual_server 192.168.95.129 443 {
    delay_loop 6
    lb_algo rr
    lb_kind NAT
    persistence_timeout 50
    protocol TCP

    real_server 192.168.95.129 443 {
        weight 1
        SSL_GET {
            url {
              path /
              digest ff20ad2481f97b1754ef3e12ecd3a9cc
            }
            url {
              path /mrtg/
              digest 9b3a0c85a887a256d6939da88aabd8cd
            }
            connect_timeout 3
            nb_get_retry 3
            delay_before_retry 3
        }
    }
}

五、脚本编写

mkdir /tools
cd /tools
# keepalived通知脚本
vim master.sh
ip=$(hostname -I | awk '{print $1}')
dt=$(date+'%Y%m%d %H:%M:%S')
echo "$0--${ip}--${dt}" >> /tmp/kp.log

vim backup.sh
ip=$(hostname -I | awk '{print $1}')
dt=$(date+'%Y%m%d %H:%M:%S')
echo "$0--${ip}--${dt}" >> /tmp/kp.log

vim fault.sh
ip=$(ip addr|grep inet| grep 192.168 |awk '{print $2}')
dt=$(date +'%Y%m%d %H:%M:%S')
echo "$0--${ip}--${dt}" >> /tmp/kp.log

vim stop.sh
ip=$(ip addr|grep inet| grep 192.168| awk '{print $2}')
dt=$(date +'%Y%m%d %H:%M:%S')
echo "$0--${ip}--${dt}" >> /tmp/kp.log

## keepalived健康检查脚本
vim nginx_check.sh
#!/bin/bash
result=`pidof nginx`
if [ ! -z "${result}" ];
then
    exit 0
else
    exit 1
fi

# 注意脚本授权,重启keepalived
cd /tools/ && chmod +x *.sh
systemctl restart keepalived.service

六、放在浏览器测试

到此这篇关于Nginx+keepalived配置的实现步骤的文章就介绍到这了,更多相关Nginx keepalived配置内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家! 

相关文章

  • nginx并发数限制limit_conn基本语法

    nginx并发数限制limit_conn基本语法

    这篇文章主要为大家介绍了nginx并发数限制limit_conn基本语法详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-04-04
  • Linux 系统 nginx 服务器安装及负载均衡配置详解

    Linux 系统 nginx 服务器安装及负载均衡配置详解

    nginx(engine x) 是一个 高性能 的 HTTP 和 反向代理 服务器、邮件代理服务器以及通用的 TCP/UDP 代理服务器。这篇文章主要介绍了Linux 系统 nginx 服务器安装及负载均衡配置详解,需要的朋友可以参考下
    2019-07-07
  • nginx centos 服务开机启动设置实例详解

    nginx centos 服务开机启动设置实例详解

    这篇文章主要介绍了nginx centos 服务开机启动设置实例详解的相关资料,这里对服务开机启动做了详细的步骤介绍,需要的朋友可以参考下
    2016-11-11
  • Nginx 502 Bad Gateway错误解决详细指南与实例

    Nginx 502 Bad Gateway错误解决详细指南与实例

    这篇文章主要介绍了Nginx 502 Bad Gateway错误解决的相关资料,502BadGateway错误是Web开发和运维中常见的错误,表示一个服务器在充当网关或代理时,从上游服务器收到了一个无效的响应,需要的朋友可以参考下
    2024-11-11
  • 解决nginx+lua搭建文件上传下载服务问题

    解决nginx+lua搭建文件上传下载服务问题

    这篇文章主要介绍了nginx+lua搭建文件上传下载服务,涉及到nginx安装配置方法,本文通过代码给大家介绍的非常详细,需要的朋友可以参考下
    2017-12-12
  • Kubernetes中Nginx服务启动失败排查流程分析(Error: ImagePullBackOff)

    Kubernetes中Nginx服务启动失败排查流程分析(Error: ImagePullBackOff)

    这篇文章主要介绍了Kubernetes中Nginx服务启动失败排查流程(Error: ImagePullBackOff),本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-03-03
  • nginx配置https://localhost/index报404

    nginx配置https://localhost/index报404

    本文主要介绍了Nginx配置导致页面刷新时报404错误的问题,主要因为静态文件路径配置错误、前端路由问题和反向代理配置错误这几种错误,下面就来介绍一下解决方法
    2024-12-12
  • 简介Nginx服务器的Websockets配置方法

    简介Nginx服务器的Websockets配置方法

    这篇文章主要介绍了简介Nginx服务器的Websockets配置方法,是使用Nginx服务器的网管的必备知识XD~需要的朋友可以参考下
    2015-06-06
  • 使用nginx进行负载均衡的搭建全过程

    使用nginx进行负载均衡的搭建全过程

    负载均衡用于从“upstream”模块定义的后端服务器列表中选取一台服务器接受用户的请求,下面这篇文章主要给大家介绍了关于使用nginx进行负载均衡的搭建全过程,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-08-08
  • Nginx搭建高效的静态图片服务器的方法步骤

    Nginx搭建高效的静态图片服务器的方法步骤

    高效地管理和分发静态资源是至关重要的,本文主要介绍了Nginx搭建高效的静态图片服务器的方法步骤,具有一定的参考价值,感兴趣的可以了解一下
    2024-05-05

最新评论