全国旗舰校区

不同学习城市 同样授课品质

北京

深圳

上海

广州

郑州

大连

武汉

成都

西安

杭州

青岛

重庆

长沙

哈尔滨

南京

太原

沈阳

合肥

贵阳

济南

下一个校区
就在你家门口
+
当前位置:首页  >  技术干货

动态同步配置模块Nginx

发布时间:2023-02-07 14:49:00
发布人:syq

  nginx一般直接在配置文件里配置upstream即可实现负载均衡,但有些特定的环境下此种方式就显得有些局限性。比如后台动态调整节点的时候;调整节点后不想修改配置文件重启nginx。

动态同步配置模块Nginx

  可以将配置文件从nginx本地迁移到其他第三方服务上如etcd、consul上,然后通过nginx-upsync-module模块实时同步到配置文件中,实现上下线节点动态同步到upstream配置中,再结合ngx_healthcheck_module实现后端健康检测。

  可以将配置文件从nginx本地迁移到其他第三方服务上如etcd、consul上,然后时候拉取配置到本地。本文采用nginx-upsync-module,主要支持consul、etcd,本文以etcd为例。

  etcd介绍

  etcd是使用Go语言开发的一个开源的、高可用的分布式key-value存储系统,可以用于配置共享和服务的注册和发现。在这些用于存放nginx中关于upstream的配置信息。

  etcd使用的2个默认端口号:2379和2380 2379:用于客户端通信 2380:用于与集群中的Peer通信

  1.安装etcd(单机版)

1

  2.启动

2

  3.生成脚本

3

  4.nginx安装

  安装nginx,同时安装七层后端检测模块为例

4

  5.配置说明

5

6

  语法参数

  server 127.0.0.1:11111;本机upsync工作虚拟端口

  127.0.0.1:2379/v2/keys/upstreams/test, etcd服务器同步路径

  upsync_interval=6m;每隔一段时间从consul/etcd中拉出服务器

  upsync_timeout=500ms,从consul/etcd请求中提取服务器超时。

  upsync_type=etcd,从拉取服务器类型:consul,etcd。

  strong_dependency=off,每次在nginx启动或重新加载时,nginx是否从consul/etcd中拉出配置,on,拉取

  off,不拉取配置

  upsync_dump_path /usr/local/nginx/conf/upstream.conf, 同步存储配置文件路径

  include /usr/local/nginx/conf/upstream.conf, 加载配置文件路径

  最终实际配置

7

  6.启动服务

8

  7.后端服务添加配置

  后端web服务上线后,需要向etcd中添加注册信息,添加成功以后,nginx反代自动从etcd中拉取配置,实现后端服务上线自动添加至配置中。

  后端web服务新上线

  增加服务器节点语法

9

10

  后端web服务新下线

11

12

  删除服务节点

11

12

  调整服务参数

13

  检测

14

  查看nginx中的配置文件

15

相关文章

工业机器人、自动化、PLC三者是什么关系?

工业机器人、自动化、PLC三者是什么关系?

2023-10-15
为什么Redis要对一种数据类型存储两次呢?

为什么Redis要对一种数据类型存储两次呢?

2023-10-15
MySQL小数的存储使用什么数据类型?

MySQL小数的存储使用什么数据类型?

2023-10-15
标准化和归一化的区别和应用场景是什么?

标准化和归一化的区别和应用场景是什么?

2023-10-15

最新文章

常见网络安全面试题:Windows常用的命令有哪些?

常见网络安全面试题:Windows常用的命令有哪些?

2023-10-09
常见网络安全面试题:根据设备告警如何展开排查?

常见网络安全面试题:根据设备告警如何展开排查?

2023-10-09
常见网络安全面试题:mysql加固呢?(数据库加固)

常见网络安全面试题:mysql加固呢?(数据库加固)

2023-10-09
常见网络安全面试题:windows和linux加固?(操作系统加固)

常见网络安全面试题:windows和linux加固?(操作系统加固)

2023-10-09
在线咨询 免费试学 教程领取