当前位置:   article > 正文

Nginx读书笔记(3) —— 模块添加之config文件的写法_$ngx_addon_dir

$ngx_addon_dir

config文件的写法

config文件其实是一个可执行的Shell脚本。如果只想开发一个HTTP模块,那么config文件中需要定义以下3个变量:
·ngx_addon_name:仅在configure执行时使用,一般设置为模块名称。
·HTTP_MODULES:保存所有的HTTP模块名称,每个HTTP模块间由空格符相连。在重新设置HTTP_MODULES变量时,不要直接覆盖它,因为configure调用到自定义的config脚本前,已经将各个HTTP模块设置到HTTP_MODULES变量中了,因此,要像如下这样设置:

"$HTTP_MODULES ngx_http_mytest_module"

·NGX_ADDON_SRCS:用于指定新增模块的源代码,多个待编译的源代码间以空格符相连。注意,在设置NGX_ADDON_SRCS时可以使用$ngx_addon_dir变量,它等价于configure执行时--add-module=PATH的PATH参数。
因此,对于mytest模块,可以这样编写config文件:

  1. ngx_addon_name=ngx_http_mytest_module
  2. HTTP_MODULES="$HTTP_MODULES ngx_http_mytest_module"
  3. NGX_ADDON_SRCS="$NGX_ADDON_SRCS $ngx_addon_dir/ngx_http_mytest_module.c"


注意  以上3个变量并不是唯一可以在config文件中自定义的部分。如果我们不是开发HTTP模块,而是开发一个HTTP过滤模块,那么就要用HTTP_FILTER_MODULES替代上面的HTTP_MODULES变量。事实上,包括$CORE_MODULES、$EVENT_MODULES、$HTTP_MODULES、$HTTP_FILTER_MODULES、$HTTP_HEADERS_FILTER_MODULE等模块变量都可以重定义,它们分别对应着Nginx的核心模块、事件模块、HTTP模块、HTTP过滤模块、HTTP头部过滤模块。除了NGX_ADDON_SRCS变量,或许还有一个变量我们会用到,即$NGX_ADDON_DEPS变量,它指定了模块依赖的路径,同样可以在config中设置。

 

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/凡人多烦事01/article/detail/84002
推荐阅读
相关标签
  

闽ICP备14008679号