keepalived详解(三)——keepalived与Nginx配合实战

简介: keepalived详解(三)——keepalived与Nginx配合实战

今天继续给大家介绍Linux运维相关知识,本文主要内容是keepalived与Nginx服务实战。

一、实战目的与环境
今天,我们使用keepalived实现两台Nginx服务器之间的高可用主备架构,实现对Nginx服务器的主备备份,系统架构如下:
Nginx设备1:192.168.136.14
Nginx设备2:192.168.136.15
keepalived虚拟IP:192.168.136.20

二、实战配置
首先,在两台设备上分别安装Nginx和keepalived服务,keepalived和Nginx服务既可以采用源码的方式进行安装,也可以采用YUM的方式进行安装。在keepalived和Nginx安装完之后,修改keepalived配置文件,如下所示:

global_defs {
notification_email {
pzz@pzz.com
}
notification_email_from
smtp_server 127.0.0.1
smtp_connect_timeout 30
router_id 192.168.136.14
}
vrrp_script check_nginx {
script "/etc/keepalived/nginx_check.sh"
interval 2
weight -20
}
vrrp_instance NGINX {
state MASTER
interface ens32
virtual_router_id 1
priority 100
advert_int 5
authentication {
auth_type PASS
auth_pass 123456
}
virtual_ipaddress {
192.168.136.20
}
track_script {
check_nginx
}
}

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
另一台设备上的keepalived配置文件如下所示:

global_defs {
notification_email {
pzz@pzz.com
}
notification_email_from
smtp_server 127.0.0.1
smtp_connect_timeout 30
router_id 192.168.136.15
}
vrrp_script check_nginx {
script "/etc/keepalived/nginx_check.sh"
interval 2
weight -20
}
vrrp_instance NGINX {
state BACKUP
interface ens32
virtual_router_id 1
priority 80
advert_int 5
authentication {
auth_type PASS
auth_pass 123456
}
virtual_ipaddress {
192.168.136.20
}
track_script {
check_nginx
}
}

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
在备用设备上,基本上与主用设备配置相同,存在差异的地方在于priority被改为80,router_id被改为备用设备自身的IP地址,state被改为BACKUP。
然后,我们需要编写keepalived配置文件中的Nginx服务检测脚本,根据keepalived配置,脚本文件为:/etc/keepalived/nginx_check.sh内容为:

!/bin/bash

2022-02-20

by pzz

used to realise the keepalived detection to nginx

NUM=ps -ef| grep nginx | grep -v "grep"| grep -v "check"|wc -l
echo $NUM
if [ $NUM -ne 2 ];then
systemctl stop keepalived
fi
1
2
3
4
5
6
7
8
9
该脚本两个设备完全相同。

三、效果检验
最后,我们来验证一下我们的keepalived和Nginx配置结果。当两台设备的keepalived和Nginx服务全部开启后,可以看到在主用设备上的IP地址,如下所示:

由于keepalived自身没有专门的日志,因此查看启动情况需要查看/var/log/messages文件,主用设备上该文件如下所示:

备用设备上该文件如下所示:

突然终端主用设备上的Nginx服务,期间在主机浏览器上尝试ping该架构的虚拟IP地址,如下所示:

此外,尝试访问该虚拟IP地址的Nginx服务,发现发生变动,如下所示:
主用Nginx停机前:

主用Nhinx停机后:

综上,可以看出,当主用设备的Nginx服务关闭后,备用设备能够检测到主用设备上的Nginx服务宕机,并且立即切换备用设备,使得Nginx服务提供正常,keepalived+Nginx服务配置成功!
原创不易,转载请说明出处:https://blog.csdn.net/weixin_40228200
————————————————

                        版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

原文链接:https://blog.csdn.net/weixin_40228200/article/details/123024276

目录
相关文章
|
8月前
|
Web App开发 编解码 运维
LNMP详解(十二)——Nginx URL重写实战
LNMP详解(十二)——Nginx URL重写实战
78 2
|
8月前
|
运维 监控 应用服务中间件
LNMP详解(十五)——Nginx日志分析实战
LNMP详解(十五)——Nginx日志分析实战
93 0
|
3月前
|
缓存 负载均衡 安全
Nginx常用基本配置总结:从入门到实战的全方位指南
Nginx常用基本配置总结:从入门到实战的全方位指南
393 0
|
5月前
|
Java 应用服务中间件 Shell
Nginx+Keepalived+Tomcat 实现Web高可用集群
Nginx+Keepalived+Tomcat 实现Web高可用集群
152 0
|
2月前
|
应用服务中间件 网络安全 nginx
轻松上手Nginx Proxy Manager:安装、配置与实战
Nginx Proxy Manager (NPM) 是一款基于 Nginx 的反向代理管理工具,提供直观的 Web 界面,方便用户配置和管理反向代理、SSL 证书等。本文档介绍了 NPM 的安装步骤,包括 Docker 和 Docker Compose 的安装、Docker Compose 文件的创建与配置、启动服务、访问 Web 管理界面、基本使用方法以及如何申请和配置 SSL 证书,帮助用户快速上手 NPM。
385 1
|
5月前
|
运维 负载均衡 监控
Nginx加Keepalived实现高可用
使用Nginx和Keepalived来实现高可用性的方案,对于确保关键服务的稳定性和可靠性来说是非常有效的。此配置涉及多个步骤,包括各个服务的安装、设置及测试,目标是在主服务器故障时能无缝切换,以确保服务的持续可用。正确的配置和充分的测试是实现高可用性的保证,这也要求管理员对这些工具和它们背后的原理有深入的了解。
103 1
|
7月前
|
安全 Ubuntu 应用服务中间件
NGINX环境下实现Web网站访问控制的实战指南
在NGINX中设置基于IP的访问控制可提升网站安全性。步骤包括安装NGINX、备份配置文件、编辑`/etc/nginx/sites-available/default`,添加`allow`和`deny`指令限制特定IP访问,如`allow 192.168.1.100; deny all;`,然后测试配置并重启服务。成功后,仅允许的IP能访问网站,否则会收到403错误。这为Web安全提供基础保障,还可扩展实现更多高级控制策略。【6月更文挑战第20天】
724 3
|
7月前
|
弹性计算 应用服务中间件 Linux
双剑合璧:在同一ECS服务器上共存Apache与Nginx的实战攻略
在ECS服务器上同时部署Apache和Nginx的实战:安装更新系统,Ubuntu用`sudo apt install apache2 nginx`,CentOS用`sudo yum install httpd nginx`。配置Nginx作为反向代理,处理静态内容及转发动态请求到Apache(监听8080端口)。调整Apache的`ports.conf`监听8080。重启服务测试,实现两者高效协同,提升Web服务性能。记得根据流量和需求优化配置。【6月更文挑战第21天】
631 1
|
7月前
|
监控 前端开发 应用服务中间件
前端开发者必备:Nginx入门实战宝典,从部署到优化一网打尽(2)
前端开发者必备:Nginx入门实战宝典,从部署到优化一网打尽
103 1
|
7月前
|
负载均衡 前端开发 应用服务中间件
前端开发者必备:Nginx入门实战宝典,从部署到优化一网打尽(1)
前端开发者必备:Nginx入门实战宝典,从部署到优化一网打尽
230 1