千锋教育-做有情怀、有良心、有品质的职业教育机构

手机站
千锋教育

千锋学习站 | 随时随地免费学

千锋教育

扫一扫进入千锋手机站

领取全套视频
千锋教育

关注千锋学习站小程序
随时随地免费学习课程

当前位置:首页  >  技术干货  > 动态同步配置模块Nginx

动态同步配置模块Nginx

来源:千锋教育
发布人:syq
时间: 2023-02-07 14:49:00 1675752540

  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

tags:
声明:本站稿件版权均属千锋教育所有,未经许可不得擅自转载。
10年以上业内强师集结,手把手带你蜕变精英
请您保持通讯畅通,专属学习老师24小时内将与您1V1沟通
免费领取
今日已有369人领取成功
刘同学 138****2860 刚刚成功领取
王同学 131****2015 刚刚成功领取
张同学 133****4652 刚刚成功领取
李同学 135****8607 刚刚成功领取
杨同学 132****5667 刚刚成功领取
岳同学 134****6652 刚刚成功领取
梁同学 157****2950 刚刚成功领取
刘同学 189****1015 刚刚成功领取
张同学 155****4678 刚刚成功领取
邹同学 139****2907 刚刚成功领取
董同学 138****2867 刚刚成功领取
周同学 136****3602 刚刚成功领取
相关推荐HOT