我是靠谱客的博主 漂亮棒球,最近开发中收集的这篇文章主要介绍实战开发一个Nginx扩展 (Nginx Module)实战开发一个Nginx扩展 (Nginx Module),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

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

repo地址 https://github.com/wujunze/nginx-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_module
HTTP_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

最后

以上就是漂亮棒球为你收集整理的实战开发一个Nginx扩展 (Nginx Module)实战开发一个Nginx扩展 (Nginx Module)的全部内容,希望文章能够帮你解决实战开发一个Nginx扩展 (Nginx Module)实战开发一个Nginx扩展 (Nginx Module)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(38)

评论列表共有 0 条评论

立即
投稿
返回
顶部