1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/wujunze-nginx_module_echo

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
README.md 4.4 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 26.11.2024 05:22 e302136

Практическая разработка модуля ginx

简体中文

nginx_module_echo

echo string

Версия Nginx

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

nginx1.0.10.png

Конфигурация среды разработки

OS : CentOS Linux release 7.2.1511 (Core)

Server_info.png
Server_CPU_info.png

Установка чистой компиляции Nginx

  1. Скачайте Nginx10.10 и распакуйте его.

    nginx1.0.10.png

  2. Установите GCC и библиотеки, необходимые для Nginx.

    install_GCC.png
    Nginx_lib.png

  3. Выполните следующие команды:

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

    configure_ok.png
    make && make install.png
    nginx_install_ok.png

  4. Запустите Nginx.

    start_nginx.png
    nginx_install_ok.png

Определение структуры конфигурации модуля

typedef struct {
    ngx_str_t ed;  //该结构体定义在这里 https://github.com/nginx/nginx/blob/master/src/core/ngx_string.h
} ngx_http_echo_loc_conf_t;

define_moudle_conf.png

Определение функций преобразования инструкций и параметров Nginx

定义指令和参数转化函数.png

Определение контекста модуля

  1. Определите тип переменных структуры ngx_http_module_t.

定义注入点结构体.png

  1. Инициализируйте структуру конфигурации.

初始化一个配置结构体.png

  1. Внедрите конфигурацию наследования, объединив информацию о конфигурации родительского блока.

合并父block的配置信息.png

Написание рабочей части Handler модуля

Nginx模块handler.png

Комбинирование модуля Nginx

组合Nginx Module.png

Завершение кода модуля в соответствии с официальной спецификацией Nginx

ok_file.png

Создание файла конфигурации

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"

make && make install

./configure --prefix=/usr/local/nginx/ --add-module=/root/ngx_dev && make && make install

Успешная установка

make install.png

Изменение файла конфигурации Nginx для тестирования модуля

test module.png

Модуль Nginx echo успешно запущен

module ok.png

Если репозиторий вам помог, добро пожаловать поставить звезду или форк. Спасибо!

ссылки

  1. http://wiki.nginx.org/Configuration
  2. http://tengine.taobao.org/book/
  3. http://blog.codinglabs.org/articles/intro-of-nginx-module-development.html
  4. https://www.nginx.com/resources/wiki/modules/

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/wujunze-nginx_module_echo.git
git@api.gitlife.ru:oschina-mirror/wujunze-nginx_module_echo.git
oschina-mirror
wujunze-nginx_module_echo
wujunze-nginx_module_echo
master