[nginx] 几个易混淆的术语

2022-11-15 22:05:40 +08:00
 GopherDaily

引个流,不知道是否可以

https://github.com/j2gg0s/j2gg0s/blob/main/20221115_nginx_%E6%98%93%E6%B7%B7%E6%B7%86%E7%9A%84%E6%9C%AF%E8%AF%AD.md

[nginx] 几个易混淆的术语

既没有能力也没有洁癖去考古整个 nginx 相关的历史进程, 只是简单的解释几个易混淆的术语, 提高相关同学的日常使用体验.

nginx

在 Google 中搜索 nginx 相关的内容时, 会高频的遇到两个网站: nginx.orgnginx.com.

nginx.org 对应开源版本的 nginx, nginx.com 对应商业版本的 nginx plus. 两者在功能和配置上显然并不完全等价, 查询相关特性和配置时需要根据自己使用的版本的多加注意.

大部分情况下, 我们使用的都是开源版本 nginx.

ingress

我是在 kubernetes(k8s) 中频繁的接触 ingress 这个概念的. ingress 在 k8s 中用于管理外部对集群服务的访问, 是抽象的规则, 需要具体的 ingress controller 来监听这些规则并完成实际的工作.

nginx 显然是 ingress controller 的非常主流的选择. nginxnginx plus 都可以做为 [ingress controller], 官方实现在 nginxinc/kubernetes-ingress, 文档可以参考 nginx-ingress-controller. 还是那句话, 注意区分那些只在 [nginx plus] 提供的功能和配置.

但是, 我们在 k8s 中使用的 nginx ingress controller 大部分时候不是上述的实现, 惊不惊喜, 意不意外. k8s 自己基于 nginx 实现了一个 ingress-controller, 即 kubernetes/ingress-nginx.

如果想要区分当前的部署使用的是上述三者的哪一种, 比较好的方法是观察 image:

openresty

openresty 是由 agentzh 维护的, 基于 nginx 和 LuaJIT 的反向代理和负载均衡. 我粗浅的理解就是, 古早之前, agentzh 为 nginx 加入 LuaJIT 和大量三方库后, 为了快速响应一些性能和质量问题而维护的一个 nginx 版本.

当然, nginx 也在很早之前支持了 lua 做为动态脚本.

1493 次点击
所在节点    NGINX
1 条回复
seers
2022-11-15 22:14:55 +08:00
kubenetes/ingress-nginx 是基于开源 nginx 版本,由 k8s 官方维护
nginxinc/kubernetes-ingress 由 F5 NGINX 维护,存在开源版和商业版本,可以付费切换

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

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

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

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

© 2021 V2EX