一、什么是nginx有什么作用
nginx是一款使用非常广泛的Web服务器,它可以提供高性能和可扩展性。它是由Google开发的,并且是Apache HTTP Server的替代品。 以下是一些nginx的主要特点:
- 轻量级:nginx比Apache轻量级,它不需要那么多的配置文件和模块,从而更容易安装和管理。
- 可扩展:nginx可以处理大量的并发请求,它支持负载均衡、代理、缓存和反向代理等功能,从而使网站更具有可扩展性。
- 可定制:nginx的配置非常灵活,可以通过简单的配置文件来定制化网站的各种设置,例如缓存策略、日志记录等。
- 安全:nginx可以通过设置来防止常见的安全问题,例如缓存攻击和跨站脚本攻击等。
- 开源:nginx是开源软件,它的源代码可以在GitHub上免费获取,这使得它更容易进行扩展和修改。
二、什么是keepalive有什么作用
keepalive是一个用于保持长连接的插件,它可以提高服务器的效率和稳定性。它通过心跳包来维护连接,并在连接超时时间内重新连接。 以下是一些keepalive的主要特点:
- 连接维护:keepalive会维护长连接,并在连接超时时间内重新连接,以确保服务器端始终处于运行状态。
- 提高效率:通过维护长连接,可以减少建立和关闭连接所需的时间,从而提高服务器的效率。
- 节省带宽:由于keepalive可以维护长连接,因此减少了建立和关闭连接所需的网络流量,从而节省了带宽。
- 稳定性:通过心跳包维护连接,可以确保服务器端始终处于运行状态,从而提高了网站的稳定性和可用性。
三、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
主机名称 | vip | ip |
nginx1 | 172.21.161.100 | 172.21.161.* |
nginx2 | 172.21.161.100 | 172.21.161.* |
安装keepalived
查看网卡
新建检查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配置修改
启动keepalived, 得到虚拟IP地址(备机同样操作进行搭建)
在两台服务器上分别启动:
service keepalived start
分别执行ip addr命令,可以在最先启动的机器上看到虚拟IP