nginx-http-echo-module C语言开发的原生 Nginx 拓展

MIT
C/C++
跨平台
2017-06-14
卧龙大熊猫

nginx-http-echo-module 是使用C语言开发一个原生的Nginx拓展,为了学习Nginx模块和Nginx内核。

nginx_module_echo

使用echo指令输出一个字符串

Nginx 版本

Nginx1.0.10 https://github.com/nginx/nginx/releases/tag/release-1.0.10image

开发环境

OS : CentOS Linux release 7.2.1511 (Core)

imageimage

安装一个干净的 Nginx

  1. 下载 Nginx10.10 并且解压它image

  2. 安装gcc和Nginx需要的libimageimage

  3. ./configure --prefix=/usr/local/nginx && make && make installimageimageimage

  4. 运行Nginximageimage

定义模块配置结构

typedef struct {
    ngx_str_t ed;  //该结构体定义在这里 https://github.com/nginx/nginx/blob/master/src/core/ngx_string.h} ngx_http_echo_loc_conf_t;

image

定义echo模块的指令和参数转化函数

image

定义模块Context

  1. 定义ngx_http_module_t类型的结构体变量image

  2. 初始化一个配置结构体image

  3. 将其父block的配置信息合并到此结构体 实现了配置的继承image

编写Handler 模块真正干活儿的部分

image

组合Nginx Module

image

整理模块代码 按照Nginx官方规范

image

编写config文件

ngx_addon_name=ngx_http_echo_moduleHTTP_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

安装成功

image

修改Nginx配置文件测试Module

image

Nginx echo Module 运行成功

image

加载中

评论(0)

暂无评论

暂无资讯

暂无问答

nginx编译安装

#####软件:nginx1.10.1 关闭防火墙命令:service iptables stop[stop|start|restart] 查看环境变量:echo $PATH 新建nginx用户 groupadd -g 108 -r www useradd -u 108 -g 108 www -s /sbi...

09/07 17:15
0
0
centos下编译安装nginx,并增加nginx_upstream_check_module模块

由于需要两台web服务器,所以想起了要做反向代理,最终选择了nginx作为反向代理服务器,为了可以实时监控后端服务器的监控状况,所以需要在编译nginx的时候给nginx打上nginx_upstream_check_...

2013/04/10 17:08
3.3K
1
7.安装模块memc,lua,drizzle模块

安装模块memc,lua,drizzle模块 相关文档: http://chenxiaoyu.org/2011/10/30/nginx-modules.html http://www.codinglabs.org/html/nginx-memc-and-srcache.html http://zacharyhu.org/?p...

2012/11/07 14:08
547
0
Tengine 安装和基本使用

### 简介 Tengine是由淘宝网发起的Web服务器项目。它在Nginx的基础上,针对大访问量网站的需求,添加了很多高级功能和特性。[官网](http://tengine.taobao.org/index_cn.html) ### 准备 1. 下...

2016/01/18 22:17
248
1
安装nginx_lua_module以及echo-nginx-module收集日志

unknown directive "access_by_lua" unknown directive "set_unescape_uri" 之所以报错是缺少nginx的三方插件,下面介绍安装nginx的第三方插件,插件很多直介绍三个 方式一: 下载 ngx_open...

2016/12/16 01:00
136
0
nginx+lua_nginx+GraphicsMagick生成实时缩略图

安装graphi magic wget http://sourceforge.net/projects/graphicsmagick/files/graphicsmagick/1.3.16/GraphicsMagick-1.3.16.tar.gz/download ./configure --prefix=/usr/local/GraphicsMa...

2016/08/03 17:18
12
0
CentOS 5.8 (32bit) 安装Nginx

1.安装PCRE yum -y install pcre-devel yum -y install pcre-devel openssl openssl-devel 2.下载Nginx wget http://nginx.org/download/nginx-1.2.0.tar.gz tar xvzf nginx-1.2.0.tar.gz 3...

2012/05/11 11:30
409
0
ubuntu安装nginx的lua模块

ubuntu安装nginx的lua模块

2013/12/19 11:24
975
1

没有更多内容

加载失败,请刷新页面

返回顶部
顶部