博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
实战开发一个Nginx扩展 (Nginx Module)
阅读量:6564 次
发布时间:2019-06-24

本文共 1042 字,大约阅读时间需要 3 分钟。

hot3.png

实战开发一个Nginx扩展 (Nginx Module)

repo地址 s://hub.om/wujunze/-http-echo-module

nginx_module_echo

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

Nginx 版本

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

image

开发环境

OS : CentOS Linux release 7.2.1511 (Core)

image

image

安装一个干净的 Nginx

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

    image

  2. 安装gcc和Nginx需要的lib

    image
    image

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

    image
    image
    image

  4. 运行Nginx

    image
    image

定义模块配置结构

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

千锋PHP-PHP培训的实力派

转载于:https://my.oschina.net/u/937153/blog/967885

你可能感兴趣的文章
【转】持久化消息队列之MEMCACHEQ
查看>>
Dom4j学习笔记
查看>>
C语言 HTTP上传文件-利用libcurl库上传文件
查看>>
[MEAN Stack] First API -- 7. Using Route Files to Structure Server Side API
查看>>
调试逆向分为动态分析技术和静态分析技术(转)
查看>>
Android webview使用详解
查看>>
业务对象和BAPI
查看>>
程序源系统与当前系统不一致:Carry out repairs in non-original systems only if urgent
查看>>
微软职位内部推荐-Senior Software Engineer
查看>>
程序中的魔鬼数字
查看>>
SVN高速新手教程
查看>>
session cookie
查看>>
ZBar之ZBarReaderViewController
查看>>
Nuget~管理自己的包包~丢了的包包快速恢复
查看>>
$.extend({},defaults, options) --(初体验三)
查看>>
maven的一些依赖
查看>>
jQuery hover() 方法
查看>>
android 一步一步教你集成tinker(热修复)
查看>>
到底有多少内存
查看>>
centos7.3 安装ovirt-engine4.0 版本
查看>>