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

nginx 动态模块的意义在哪里?

  •  
  •   ladyv2 · 2016-05-02 09:45:04 +08:00 · 5643 次点击
    这是一个创建于 3161 天前的主题,其中的信息可能已经有所发展或是发生改变。

    如果, Nginx 现在支持加载动态模块 请问这个的意义是什么?

    以前是编译时 选择需要的模块,然后静态编译

    现在出选择需要的模块,然后编译,然后编译出 Nginx 和 modules ,然后在 conf 里加载这些模块,步骤反而多了 当然可以是编译 geoip 然后不加载,那编译这样的模块的意义是什么?用不到为什么还要编译?

    有没有什么场景是需要使用动态模块的?

    16 条回复    2016-05-04 15:28:24 +08:00
    cevincheung
        1
    cevincheung  
       2016-05-02 09:55:22 +08:00
    需要额外的模块的时候不需要重新编译整个 nginx ? 233333
    ericls
        2
    ericls  
       2016-05-02 09:55:24 +08:00 via iPhone
    今天用不到的 明天突然想用了 你怎么办
    Felldeadbird
        3
    Felldeadbird  
       2016-05-02 10:01:48 +08:00 via iPhone
    一推服务器都要重新弄就知道用处了
    DesignerSkyline
        4
    DesignerSkyline  
       2016-05-02 10:08:31 +08:00 via iPad
    caddy 就是这样,第三方模块是独立出来的,可以编译到一起,也可以只要 caddy
    9
        5
    9  
       2016-05-02 10:21:48 +08:00
    不知道之前的完整的编译参数,但是现在要加一个模块?
    moult
        6
    moult  
       2016-05-02 11:26:13 +08:00
    那么,为什么配置文件语法不跟 Tengine 一样搞捏。
    ladyv2
        7
    ladyv2  
    OP
       2016-05-02 12:53:06 +08:00
    @ericls 重新编译啊。。。 freebsd 编译 ngxin 还是简单的要死的啊。。。
    realpg
        8
    realpg  
       2016-05-02 12:58:46 +08:00
    楼主你管理过 1000 台以上的生产环境 nginx 服务器么?
    对于集中部署短期不同需求的很有用
    crysislinux
        9
    crysislinux  
       2016-05-02 12:59:44 +08:00
    现在都流行插件化。重新编译再简单也很耗时
    RqPS6rhmP3Nyn3Tm
        10
    RqPS6rhmP3Nyn3Tm  
       2016-05-02 13:01:56 +08:00 via Android
    动态模块也需要重新编译整个 Nginx 啊,参数还必须都一样
    akira
        11
    akira  
       2016-05-02 13:05:54 +08:00
    @BXIA 我可以完整编译但是不加载呗
    ladyv2
        12
    ladyv2  
    OP
       2016-05-02 13:17:32 +08:00
    @realpg 那其实就是说,动态编译的优点就是适合完整编译,然后根据需要开启?而不是会带来性能什么的提升。。。

    有洁癖的表示,不用的模块坚决不编译啊。
    realpg
        13
    realpg  
       2016-05-02 13:22:47 +08:00
    @ladyv2
    性能应该是下降的 但是是省事儿
    编译进核心是省资源的,动态加载费资源,但是省事,可以按需加载不用重新编译,而且集中部署环境,同配置硬件是系统可以下发二进制的文件的,这节省了大量资源。
    ericls
        14
    ericls  
       2016-05-02 14:04:24 +08:00 via iPhone
    @ladyv2 下线损失怎么算?
    lslqtz
        15
    lslqtz  
       2016-05-03 05:08:13 +08:00 via iPhone
    @ericls 赞同,现在因为要编译很麻烦看到想要的模块都一直丢在收藏夹没加上去玩。
    julyclyde
        16
    julyclyde  
       2016-05-04 15:28:24 +08:00
    动态模块主要是方便 Linux 发行版做安装包
    程序主体、其它开发商开发的模块可以分离发行,组合运行
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   4149 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 35ms · UTC 04:10 · PVG 12:10 · LAX 20:10 · JFK 23:10
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.