nginx-http-echo-module 正在参加 2020 年度 OSC 中国开源项目评选,请投票支持!
nginx-http-echo-module 在 2020 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
投票让它出道
已投票
nginx-http-echo-module 获得 2020 年度 OSC 中国开源项目评选「最佳人气项目」 !
nginx-http-echo-module 获得 2020 年度 OSC 中国开源项目评选「最佳人气项目」「最积极运营项目」 !
nginx-http-echo-module 获得 2020 年度 OSC 中国开源项目评选「最积极运营项目」 !

软件简介

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

展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论 (0)

加载中
更多评论
暂无内容
发表于DevOps专区
2018/12/19 19:41

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/openresty/echo-nginx-module/archive/v0.61.tar.gz tar zxvf v0.61.tar.gz cd nginx-1.14.2 # 安装依赖pcre apt-get install libpcre3 libpcre3-dev # 安装依赖openssl apt-get install openssl libssl-dev # 安装依赖zlib apt-get inst...

0
0
发表于大前端专区
2016/12/16 01:00

安装nginx_lua_module以及echo-nginx-module收集日志

unknown directive "access_by_lua" unknown directive "set_unescape_uri" 之所以报错是缺少nginx的三方插件,下面介绍安装nginx的第三方插件,插件很多直介绍三个 方式一: 下载 ngx_openresty,该集成包中有:Nginx,Lua或Luajit,ngx_lua,以及一些有用的Nginx第三方模块。 安装步骤: ./configure --with-luajit make make install 安装完成,个人建议第一种安装方便简单,另外这个版本还提供了很多的组件,安装不会出现错...

0
2
发表了博客
2019/04/10 10:10

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 三、进入nginx-1.16.0目录,重新预编译 && 编译 && 安装 [root@www nginx-1.16.0]# ./configure --add-module=../echo-nginx-module && make -j4 && make install #--add-module:添加第三方模块 #-j4:4个编译命令同时执行,提高效率 四、安装...

0
0
发表了博客
2019/11/13 16:20

【CentOS7】yum安装下Nginx添加第三方模块-echo-nginx-module

> nginx 添加echo模块,实现在nginx中根据请求规则打印日志 提示:所有操作都是在`root`用户下完成的。 #### 前提: 1. 已经安装了nginx,如果未安装,请先安装nginx,`yum install nginx -y` 2. 安装编译模块所需的依赖 ```shell yum install gcc -y yum install pcre-devel openssl-devel -y ``` #### 安装echo模块 1. 下载echo-nginx-module。 [下载地址](https://github.com/openresty/echo-nginx-module/releases) 2. 输入...

0
0
发表了博客
2019/04/10 12:18

Nginx-http_proxy_module模块

Nginx 反向代理之 http_proxy_module 模块 proxy_pass指定属于 ngx_http_proxy_module 模块,此模块可以将请求转发到另一台服务器,在实际的反向代理工作中,会通过 location 功能匹配指定的 URI,然后把接收到的符合匹配 URI 的请求通过 proxy_pass 抛给定义好的 upstream 节点池。 该指令官网地址见:http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_pass 官网 proxy_pass 使用 案例: 1)将匹配 URI 为 na...

0
0
发表了博客
2019/01/23 22:55

nginx之访问控制http_access_module与http_auth_basic_module

http_access_module 作用 基于IP的访问控制 语法 使用 局限性 解决办法 1. http_x_forwarded_for http_auth_basic_module 作用 基于用户的信任登录 语法 使用 局限性 解决办法

0
0
发表了博客
2018/03/13 17:03

Nginx的模块http_secure_link_module

此模块是nginx的第三方模块,在编译的时候直接添加就可以了,此模块可以做防盗链 /usr/local/nginx/sbin/nginx -V nginx version: nginx/1.13.9 built by gcc 4.4.7 20120313 (Red Hat 4.4.7-18) (GCC) built with OpenSSL 1.0.1e-fips 11 Feb 2013 TLS SNI support enabled configure arguments: --prefix=/usr/local/nginx --add-module=/root/nginx-1.13.9/nginx-http-concat --add-module=/root/nginx-1.13.9/naxsi-0.56rc...

0
0
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
暂无内容
0 评论
5 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部