相关推荐recommended
nginx+keepalive高可用搭建方案
作者:mmseoamin日期:2023-12-14

一、什么是nginx有什么作用

nginx是一款使用非常广泛的Web服务器,它可以提供高性能和可扩展性。它是由Google开发的,并且是Apache HTTP Server的替代品。 以下是一些nginx的主要特点:

  1. 轻量级:nginx比Apache轻量级,它不需要那么多的配置文件和模块,从而更容易安装和管理。
  2. 可扩展:nginx可以处理大量的并发请求,它支持负载均衡、代理、缓存和反向代理等功能,从而使网站更具有可扩展性。
  3. 可定制:nginx的配置非常灵活,可以通过简单的配置文件来定制化网站的各种设置,例如缓存策略、日志记录等。
  4. 安全:nginx可以通过设置来防止常见的安全问题,例如缓存攻击和跨站脚本攻击等。
  5. 开源:nginx是开源软件,它的源代码可以在GitHub上免费获取,这使得它更容易进行扩展和修改。

二、什么是keepalive有什么作用

keepalive是一个用于保持长连接的插件,它可以提高服务器的效率和稳定性。它通过心跳包来维护连接,并在连接超时时间内重新连接。 以下是一些keepalive的主要特点:

  1. 连接维护:keepalive会维护长连接,并在连接超时时间内重新连接,以确保服务器端始终处于运行状态。
  2. 提高效率:通过维护长连接,可以减少建立和关闭连接所需的时间,从而提高服务器的效率。
  3. 节省带宽:由于keepalive可以维护长连接,因此减少了建立和关闭连接所需的网络流量,从而节省了带宽。
  4. 稳定性:通过心跳包维护连接,可以确保服务器端始终处于运行状态,从而提高了网站的稳定性和可用性。

三、keepalive实现无缝连接nginx无缝顶替主机的原理

keepalived集群中至少有两台机器

两台:一主一从

三台:一主二从…以此类推

为keepalived集群设置一个唯一的虚拟IP,虚拟IP默认会与master机器绑定在一起

即master机器将会有两个ip地址,一个是自己的源ip,一个是keepalived给的虚拟IP地址

非抢占模式下:

当master机器出现故障时,keepalived第一时间收回虚拟IP地址并分配给slave机器,此时相当于slave机器升级为master机器,此时用户只需要记住keepalived的虚拟IP地址即可

若master机器恢复正常,则不会被分配虚拟IP地址,直到slave机器出现故障后,master才会被分配虚拟IP地址
四、搭建Keepalived+Nginx高可用负载均衡服务器

准备2台Nginx (一主一从),分别安装keepalived

主机名称vipip
nginx1172.21.161.100172.21.161.*
nginx2172.21.161.100172.21.161.*

安装keepalived

nginx+keepalive高可用搭建方案,第1张

  查看网卡

nginx+keepalive高可用搭建方案,第2张

新建检查nginx脚本(两台主机都需要新建)

#!/bin/bash

A=`ps -C nginx --no-header |wc -l`        

    if [ $A -eq 0 ];then                            

        /opt/nginx1.23.1/sbin/nginx                

        if [ `ps -C nginx --no-header |wc -l` -eq 0 ];then

            exit 1

        else

            exit 0

        fi

    else

        exit 0

    fi

进行keepalive配置修改

nginx+keepalive高可用搭建方案,第3张

nginx+keepalive高可用搭建方案,第4张

启动keepalived, 得到虚拟IP地址(备机同样操作进行搭建)

nginx+keepalive高可用搭建方案,第5张

 在两台服务器上分别启动:

service keepalived start

分别执行ip addr命令,可以在最先启动的机器上看到虚拟IP

 nginx+keepalive高可用搭建方案,第5张