nginx 配置管理工具

2019-02-26 10:28:44 +08:00
 firebroo

这个 agent 的使用场景是 nginx 作为纯反向代理服务器时候,方便实现运维人员自动化运维 nginx 配置。

起因

调查过市面 nginx 的配置管理,发现都无法满足我自己的需求,也不想在别人代码基础上二次开发,于是就自己掳了一个。

优势

下面说说我个人感觉还可以的地方

  1. 支持 API 管理操作配置的同时支持运维人员上服务器手工介入修改配置,这两种方式的配置实现自动同步。
  2. 轻量级,开 1 个进程 worker,几千个配置也就不到 10M 内存占用,部署方便,就一个配置文件和一个 bin,静态编译之后是无依赖的。
  3. 支持 nginx 集群配置管理,配置变更之后会体现在 API 的状态上,只需使用一个简单的脚本去探测状态就可以实现集群配置的同步。
  4. 向下兼容历史配置,可能别的配置工具在已有大量配置的时候去上线介入会导致冲突问题。
  5. 每一次的操作都会落地到 nginx 的配置文件,reload 之前会检查 nginx 健康状况,是操作安全的,因为内存和配置原因,我自己运维的 nginx 不能频繁的 reload nginx,每次 reload 残留的 shutdown nginx 进程会占用大量内存。
  6. 代码很多参考了 nginx 源码,想学习 nginx 这种多进程网络服务模型架构是如何实现的可以看看,包括进程之间数据同步,主进程处理信号,管理子进程等多进程方面的知识,不过我也是半吊子水平,可以一起交流哈。

最后

我部署的服务器已经稳定运行一段时间了,感觉还是比较稳定的,欢迎大家提 issue。

地址: https://github.com/firebroo/nginx-confd

5184 次点击
所在节点    程序员
7 条回复
yepinf
2019-02-26 11:00:04 +08:00
已经 star

有没有交流群,想学学运维技术
abmin521
2019-02-26 12:17:28 +08:00
我还以为是 etcd + confd lua 似乎有这种扩展吧 weibo qcloud
CHYK
2019-02-26 12:20:59 +08:00
为嘛不留下邮箱呢?
感觉可以邮件多交流呀。
shell314
2019-02-26 12:22:12 +08:00
很方便,已 star
firebroo
2019-02-26 13:50:03 +08:00
@CHYK 邮箱 MTEyMTkyNzk5MkBxcS5jb20=
@yepinf 有点运维的工作,但是我不是运维。。
kylix
2019-02-26 14:33:09 +08:00
不错,mark 一波
CallMeReznov
2019-02-26 14:46:31 +08:00
点赞了!

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/538758

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX