V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
NGINX
NGINX Trac
3rd Party Modules
Security Advisories
CHANGES
OpenResty
ngx_lua
Tengine
在线学习资源
NGINX 开发从入门到精通
NGINX Modules
ngx_echo
GopherDaily
V2EX  ›  NGINX

[nginx] 几个易混淆的术语

  •  
  •   GopherDaily · 2022-11-15 22:05:40 +08:00 · 1673 次点击
    这是一个创建于 773 天前的主题,其中的信息可能已经有所发展或是发生改变。

    引个流,不知道是否可以

    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 做为动态脚本.

    1 条回复    2022-11-15 22:14:55 +08:00
    seers
        1
    seers  
       2022-11-15 22:14:55 +08:00
    kubenetes/ingress-nginx 是基于开源 nginx 版本,由 k8s 官方维护
    nginxinc/kubernetes-ingress 由 F5 NGINX 维护,存在开源版和商业版本,可以付费切换
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1107 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 18:51 · PVG 02:51 · LAX 10:51 · JFK 13:51
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.