实战开发一个 Nginx 扩展(Nginx Module)
nginx_module_echo
使用 echo 指令输出一个字符串
Nginx 版本
Nginx1.0.10 https://github.com/nginx/nginx/releases/tag/release-1.0.10
开发环境
OS : CentOS Linux release 7.2.1511 (Core)
安装一个干净的 Nginx
下载 Nginx10.10 并且解压它
安装 gcc 和 Nginx 需要的 lib
./configure —prefix=/usr/local/nginx && make && make install
运行 Nginx
定义模块配置结构
typedef struct { ngx_str_t ed; // 该结构体定义在这里 https://github.com/nginx/nginx/blob/master/src/core/ngx_string.h } ngx_http_echo_loc_conf_t;
定义模块 Context
定义 ngx_http_module_t 类型的结构体变量
初始化一个配置结构体
将其父 block 的配置信息合并到此结构体,实现了配置的继承
编写 Handler 模块真正干活儿的部分
组合 Nginx Module
整理模块代码 按照 Nginx 官方规范
编写 config 文件
ngx_addon_name=ngx_http_echo_module HTTP_MODULES="$HTTP_MODULES ngx_http_echo_module" NGX_ADDON_SRCS="$NGX_ADDON_SRCS $ngx_addon_dir/src/ngx_http_echo_module.c"
编译安装 echo 模块
./configure --prefix=/usr/local/nginx/ --add-module=/root/ngx_dev && make && make install
安装成功
修改 Nginx 配置文件测试 Module
Nginx echo Module 运行成功
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
上一篇: PHP 环境搭建扩展安装安全设置
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论