zoukankan      html  css  js  c++  java
  • nginx源码分析:module机制

     根据nginx官方文档,添加一个module的介绍,当我们需要添加一个module时,需要以下操作:

    1、为该module新建一个目录。

    2、添加一个config文件,一个module核心代码源文件。

    3、为configure添加参数--add-module=/path/to/module,然后重新编译。

    这个操作步骤我们都很熟悉,那么为什么这样操作后就可以把这个module添加到nginx中呢?

    执行configure后,会在nginx源码目录下objs目录下生成一个ngx_modules.c文件,该文件中包含了nginx编译时需要编译进去的modules。

    当我们添加了--add-module=/path/to/module之后,会把该module添加到ngx_modules.c文件中。

    该文件是源文件,包含了ngx_modules的定义,在src/core/ngx_module.h中包含ngx_modules的声明,这样在其他地方就可以引用ngx_modules,下面会看到引用它的地方。

    然后在ngx_preinit_modules函数中,设置了ngx_modules中的各个module的索引和名字。

    然后,在ngx_cycle_modules函数中将ngx_moduels拷贝到cycle->modules中。

    最后,在ngx_init_modules函数中调用每个module的init函数进行初始化。

    到此为止,nginx module的机制就介绍完了,可以看到这种设计非常方便对nginx进行扩展。

  • 相关阅读:
    OCP-1Z0-053-V12.02-285题
    OCP-1Z0-053-V12.02-281题
    今天博客抽风了,我也抽风了
    OCP-1Z0-053-V12.02-278题
    OCP-1Z0-053-V12.02-271题
    OCP-1Z0-053-V12.02-269题
    OCP-1Z0-053-V12.02-256题
    OCP-1Z0-053-V12.02-249题
    OCP-1Z0-053-V12.02-248题
    OCP-1Z0-053-V12.02-244题
  • 原文地址:https://www.cnblogs.com/lit10050528/p/8660495.html
Copyright © 2011-2022 走看看