将自己的HTTP模块编译进NGINX
来源:互联网 发布:淘宝交易风险保障 编辑:程序博客网 时间:2024/06/05 00:17
当我们完成了自己的HTTP模块,之后我们需要将这部分编译进nginx之中,那么如何进行这项操作呢,其实很简单,自己写一个配置文件,在*.c文件的目录下新建一个config文件,不用怀疑这就是整个文件名称config,在config文件中只需要三行就可以
ngx_addon_name=ngx_gttp_echo_moduleHTTP_MODULES="$HTTP_MODULES ngx_http_echo_modules"NGX_ADDON_SRCS="$NGX_ADDON_SRCS $ngx_addon_dir/ngx_http_echo_module.c"
我们现在解读下这部分内容,
第一行新建的模块名称。这里需要注意的是模块的名字应该跟 ngx_module_t的变量名称一致才行,否则会出现 unreferenced 之类的错误
第二行是表明该模块是HTTP模块,然后,在加载的时候,可能已经加载了其他模块,而这些模块信息是在$HTTP_MODULES中的,也就是说,当我们加载的时候,$HTTP_MODULES中是有值存在的,所以我们不能直接覆盖,而是追加
第三行同上,我们需要在$NGX_ADDON_SRCS中追加该模块所在的目录地址,换句话说,该目录地址是从我们输入的命令行中写入的
./configure --prefix=/usr/local/nginx/nginx --add-module=/home/*/*/ngx_http_echo_modult.c /*注意这里面一直到目录即可,而不是*.c文件*/makesudo make install
其中里面的"/home/*/*/"就是我们在配置文件中config中的$ngx_addon_dir的值,
这样的话,我们就只需要看看是怎么加载的了,这部分代码在源代码的auto文件夹下的modules文件当中
if test -n "$NGX_ADDONS"; then echo configuring additional modules for ngx_addon_dir in $NGX_ADDONS do echo "adding module in $ngx_addon_dir" if test -f $ngx_addon_dir/config; then . $ngx_addon_dir/config echo " + $ngx_addon_name was configured" else echo "$0: error: no $ngx_addon_dir/config was found" exit 1 fi donefi
可以看到,$ngx_addon_dir不止只有一个,也就是说我们可以加载多个模块,同时,除了.c文件以外还需要一个config文件,否则nginx是不加载该模块的。
之前说的是make install是覆盖式安装,现在经过测试,总是出现koi-win复制出错,失败原因是,两者是同一文件,问题还未解决,但是有了另外一种解决方法
,在使用make之后有所变动
其实就是替换/sbin/中的nginx可执行文件,首先将原来的ngxin文件备份
cp nginx/sbin/nginx nginx/sbin/nginx.bak
然后将obj文件夹中的nginx复制到sbin文件夹当中,再进行启动,这样就完成了,测试正常
cp nginx/objs/nginx nginx/sbin
最后启动
sudo /usr/local/nginx/sbin/nginx
0 0
- nginx-如何将自己的HTTP模块编译进nginx
- 将自己的HTTP模块编译进NGINX
- 【Nginx】编译进去自己的HTTP模块
- nginx:将自己编写HTTP过滤模块融入nginx时遇到的问题
- Nginx 定义自己的 http 模块
- Nginx 定义自己的 http 模块
- 将自己的模块编译进入内核
- 将自己的模块编译进入内核
- nginx学习笔记一(开发自己的http模块)
- 基于Nginx实现一个自己的HTTP模块
- 基于Nginx新增实现自己的HTTP模块
- nginx编写http模块编译报错
- Nginx的HTTP Access模块
- nginx的HTTP模块编写
- nginx-http模块的数据结构
- nginx的HTTP模块编写
- Nginx模块-简单的HTTP模块
- 将自己的驱动编译进内核
- QT5中文乱码
- Restful架构的相关说明
- 工具
- prototype Ajax.Updater 利用ajax更新指定的容器
- LINUX查看硬件信息
- 将自己的HTTP模块编译进NGINX
- 黑马程序员-对C语言各种运算符的总结
- iPhone/iPad应用使用麦克风的开启和关闭
- Redis 客户端Jedis使用(一)
- 安卓16进制颜色值
- android的通知栏的实现
- C# asp .net 将数据库中数据变换为xml
- A WebLogic Server 12.1.3 Compatibility with Previous Releases
- 数据结构与算法分析-C语言描述 重点笔记