nginx-http-echo-module

C语言开发的原生 Nginx 拓展
授权协议 MIT
开发语言 C/C++
所属分类 服务器软件、 Nginx扩展模块
软件类型 开源软件
地区 国产
投 递 者 羿昊英
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

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 installimage

  4. 运行Nginximage

定义模块配置结构

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 模块真正干活儿的部分

组合Nginx Module

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

编写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

安装成功

修改Nginx配置文件测试Module

Nginx echo Module 运行成功

  • 项目一开始使用的是 nginx-rtmp-module , 播放器一定得使用 flash插件,由于  现在大部分的浏览器禁用了 flash 插件,导致以前的rtmp播放的方式无法兼容。于是切换为nginx-http-flv-module模块。 首先注意备份配置   1: 下载 nginx-http-flv-module 模块源码。nginx-http-flv-module-master.zip (

  • 参考文章: https://blog.csdn.net/longji/article/details/52369618 最近因处理漏洞问题重新编译了Windows的Nginx,有一些坑记录下来,以便以后回查。 大部分流程参考上面的这个文章。 源码下载最好是http://hg.nginx.org/nginx/在这里下载。用hg也可以,只是个人觉得不方便。 所用OpenSSL为1.1.0h,zlib为

  • #安装依赖库 yum install libmaxminddb-devel -y #下载第三方扩展源码 git clone https://github.com/arut/nginx-rtmp-module.git echo "--add-module=/nginx-rtmp-module路径" > /www/server/panel/install/nginx_configure.pl

  • Nginx安装lua-nginx-module模块 参考原文:https://www.cnblogs.com/felixzh/p/8709201.html lua模块参考资料外部链接 ngx_lua_module 是一个nginx http模块,它把 lua 解析器内嵌到 nginx,用来解析并执行lua 语言编写的网页后台脚本 特性很牛叉,可自行百度查看,这里主要是示范一下,如何在Nginx下安

  • 背景 公司新上线一个监控系统,想对每一个请求的状态进行统计(1xx,2xx,3xx,4xx,5xx,request,response)。便于知道每一个url的请求量以及成功率。经过调研发现,nginx-module-vts 可以实现我们的需求,但是改模块是第三方模板,需要对Nginx进行编译添加,然后配置开启这个功能。 由于Nginx是已经运行的状态,所以设计到如何升级编译的问题。 环境 teng

  • niginx部署 这里参考: https://blog.csdn.net/weixin_42313749/article/details/100088174 新的需求–添加一个echo模块 在nginx已经安装的情况下新增echo模块 下载需要新增的模块(升级nginx与此一样) 模块:v0.61.tar.gz 解压到与nginx包解压同级的目录 [root@nginx

  • nginx配置 worker_processes 1; error_log logs/error.log debug; events { worker_connections 1024; } rtmp { server { listen 1935; application hls { live on; #启用

  • 1、简介 官网:http://nginx.org/ org organization 组织性的,非盈利的 com commercial 商业的 niginx是一个做网站服务器的软件,是静态的网站 website 站点、网站 HTTP 超文本传输协议,就是一个传输网页的协议,在浏览器和web服务器(nginx,tomcat等)软件之间通信的。协议理解为语言,用来交流 SA system admini

  • 参考资料 https://github.com/chaoslawful/lua-nginx-module   https://github.com/agentzh/echo-nginx-module   将nginx,lua-nginx-module,echo-nginx-module从git上下载下来。 我的都下载到了 /home/fansxnet/gitproject/目录下了。   cd /

  • nginx需要安装的模块支持: HttpSetMiscModule 让nginx支持sha1\md5等. HttpLuaModule     让nginx 支持Lua语言,进行模块编程. 一、下载luajit 2.0并安装 http://luajit.org/download.html tar zxf LuaJIT-2.0.3.tar.gz  cd LuaJIT-2.0.3  make && ma

  • nginx-rtmp-module默认所有客户端都可以推流,那么问题就来了,怎么限制客户端推流呢?nginx-rtmp-module提供了限制发布者以及观看者的IP地址: allow publish 127.0.0.1; deny publish all; allow play 192.168.0.0/24; deny play all; 显然IP地址限制,达不到需求。 但是可以通过在模块配置文件

  • 如题所示,这个模块可以打印输出一些东西,一般用于调试nginx的参数时使用。安装步骤如下: [root@tkde-iphone src]# wget https://github.com/openresty/echo-nginx-module/archive/v0.59.tar.gz [root@tkde-iphone src]# tar -zxvf v0.59.tar.gz [root@tkd

 相关资料
  • This module wraps lots of Nginx internal APIs for streaming input and output, parallel/sequential subrequests, timers and sleeping, as well as various meta data accessing. Basically it provides variou

  • echo-nginx-module 是一个 Nginx 模块,提供直接在 Nginx 配置使用包括 "echo", "sleep", "time" 等指令。 该模块包装了许多Nginx内部API,用于流输入和输出,并行/顺序子请求,计时器和睡眠以及各种元数据访问。 基本上,它提供了各种实用程序,它们通过简单地模拟不同种类的伪造的子请求位置来帮助测试和调试其他模块。 人们还会发现它在需要 直接从内存

  • nginx-http-sysguard 是阿里巴巴开发的一个 Nginx 模块,用来保护运行 Nginx 服务器的系统负载和内存使用不会太高。 配置方法: server {    sysguard on;    sysguard_load load=10.5 action=/loadlimit;    sysguard_mem swapratio=20% action=/swaplimit;   

  • nginx-http-flv-module nginx-http-flv-module是在nginx-rtmp-module基础上实现的一个音视频传输模块,将RTMP转为FLV封装格式,再通过HTTP协议下发。 支持HTTP-FLV方式直播,添加了GOP缓存功能,减少了首屏等待时间,对RTMP和HTTP-FLV都有效,添加了VHOST(单IP地址多域名)功能并支持类似Nginx的HTTP模块的通配

  • 问题内容: 请告诉我,什么是部署nodejs应用程序nginx或node-http-proxy的首选方法。什么是最可靠的? 我需要的基本功能是 将所有请求代理到非80个帖子 负载均衡器 Websocket支持 问题答案: 这是一篇有关该主题的出色文章,网址为http://www.exratione.com/2012/07/proxying-websocket- traffic-for-nodejs

  • 本文向大家介绍安装Nginx+Lua开发环境,包括了安装Nginx+Lua开发环境的使用技巧和注意事项,需要的朋友参考一下 首先我们选择使用OpenResty,其是由Nginx核心加很多第三方模块组成,其最大的亮点是默认集成了Lua开发环境,使得Nginx可以作为一个Web Server使用。借助于Nginx的事件驱动模型和非阻塞IO,可以实现高性能的Web应用程序。而且OpenResty提供了大