nginx 动态模块问题
nginx 的动态模块是一个很不错的模块共享方案,但是也有一些限制而且问题比较明显
限制
必须使用相同的nginx 版本构建,nginx 的升级容易造成服务启动失败(尤其是自己构建的一些三方模块)
推荐解决方法
实际上nginx 官方提供了一套完备的构建(nginx 以及模块)的依体系,如果我们参考了相关玩法,可以保证我们升级不会造成大的问题
具体是官方提供了pkg-oss 包,里边包含了如果进行官方内置默认以及三方模块构建的方法,同时包含了一个build_module.sh 的构建脚本
在我们使用build_module.sh 构建好相关的deb以及rpm包之后(也可以包含apk的)可以基于私服,或者配置本地私服的模式解决安装的问题
说明
尽管pkg-oss 很方便,但是不能保证100%三方模块兼容,动态模块是很好,但是做好ci/cd 很重要,不然升级处理都是一个比较大的问题
很容易造成线上故障的
参考资料
https://www.nginx.com/blog/creating-installable-packages-dynamic-modules/
https://hg.nginx.org/
https://hg.nginx.org/pkg-oss/file/tip
https://www.nginx.com/blog/compiling-dynamic-modules-nginx-plus/
https://www.nginx.com/blog/dynamic-modules-development/
https://www.nginx.com/resources/wiki/extending/converting/
https://www.nginx.com/resources/wiki/modules/index.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
2020-12-05 golang 死锁&&静态检查的一些工具
2020-12-05 spring cloud 应用集成prometheus 监控实现服务发现的一些方法
2019-12-05 使用jdk 容器镜像注意默认编码问题
2018-12-05 lapis 项目添加prometheus 监控
2018-12-05 lapis 1.7.0 更好的openresty 版本兼容以及安全数据库支持
2018-12-05 skipper backend 负载均衡配置
2018-12-05 skipper filter 扩展开发