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

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

的码云指数为
超过 的项目
加载中
请先登录后再评论。

暂无资讯

暂无问答

Nginx附带echo-nginx-module安装备忘

# 下载源码包 cd /usr/local/src wget http://nginx.org/download/nginx-1.14.2.tar.gz tar zxvf nginx-1.14.2.tar.gz # 下载echo-nginx-module,支持echo语法 wget https://github.com/open...

2018/12/19 19:41
434
0
安装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
341
0
echo-nginx-module的安装、配置、使用

一、下载压缩包 [root@www nginx-1.16.0]# wget https://github.com/openresty/echo-nginx-module/archive/v0.61.tar.gz 二、解压v0.61.tar.gz [root@www nginx]# tar zxf v0.61.tar.gz 三、...

2019/04/10 10:10
17
0
「Nginx」- http rewrite module

原文链接: 「Nginx」- http rewrite module # if 「Module ngx_http_rewrite_module/if」 「If Is Evil」 # 判断用户使用IE浏览器 if ($http_user_agent ~ MSIE) { rewrite ^(.*)$ /msi...

06/14 21:49
6
0
Nginx-http_proxy_module模块

Nginx 反向代理之 http_proxy_module 模块 proxy_pass指定属于 ngx_http_proxy_module 模块,此模块可以将请求转发到另一台服务器,在实际的反向代理工作中,会通过 location 功能匹配指定的...

2019/04/10 12:18
6
0
「Nginx」- ngx http proxy module

原文链接:「Nginx」- ngx http proxy module # proxy_send_timeout time; Default: proxy_send_timeout 60s; Context: http, server, location 为「传输一个请求到代理服务器」设置超时时间...

06/14 21:47
5
0
Nginx ngx_http_log_module

ngx_http_log_module 指定日志格式的记录请求 1、log_format name string ... string可以使用nginx核心模块及其他模块内嵌的变量 只能在http中写 2、access_log path [ format[buffer = sie...

2019/11/27 14:11
14
0
【CentOS7】yum安装下Nginx添加第三方模块-echo-nginx-module

nginx 添加echo模块,实现在nginx中根据请求规则打印日志 提示:所有操作都是在root用户下完成的。 前提: 已经安装了nginx,如果未安装,请先安装nginx,yum install nginx -y 安装编译模块...

2019/11/13 16:20
158
0
Nginx 模块:--with-http_sub_module

--with-http_sub_module HTTP内容的替换 语法1: syntax:   sub_filter string replacement Default:- context:  http,server.location string要替换的内容 replacement:替换之后的内容...

2019/11/27 09:32
15
0

没有更多内容

加载失败,请刷新页面

返回顶部
顶部