ngx_http_layouts_filter_module
Anton Maksimenkov
engineer at hlebprom.ru
Mon Feb 13 10:33:16 MSK 2006
Решил попробовать сделать модуль а-ля mod_layout собственноручно,
в помощь таким же страждущим. Всвязи с этим необходима консультативная
помощь тех, кто более-менее знает внутреннее устройство nginx (если
такие есть кроме Игоря).
Вводная: модуль должен добавлять ДО и ПОСЛЕ страницы заданные куски.
Фичность будет уточняться по мере написания/помощи.
Решил использовать шаблоном ngx_http_headers_filter_module.
Для начала вставить вместо одного из хидеров - верхний layout,
заданный директивой "layout текст_его"
Первым делом - как собрать сервер С этим модулем, чтобы увидеть, что
обрабатывается директива layout ? Я попробовал так:
---------------------------------------------------------------------
1. Скопировал
src/http/modules/ngx_http_headers_filter_module.c
в
src/http/modules/ngx_http_layouts_filter_module.c
---------------------------------------------------------------------
2. Вставил его в файл auto/sources
HTTP_SRCS="src/http/ngx_http.c \
...
src/http/ngx_http_header_filter_module.c \
src/http/ngx_http_layouts_filter_module.c \
src/http/ngx_http_write_filter_module.c \
...
---------------------------------------------------------------------
3. Исправил src/http/ngx_http_layouts_filter_module.c
# diff -u ngx_http_headers_filter_module.c ngx_http_layouts_filter_module.c
--- ngx_http_headers_filter_module.c Fri Dec 30 17:36:26 2005
+++ ngx_http_layouts_filter_module.c Mon Feb 13 06:02:09 2006
@@ -41,7 +41,7 @@
0,
NULL},
- { ngx_string("add_header"),
+ { ngx_string("layout"),
NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_HTTP_LIF_CONF
|NGX_CONF_TAKE2,
ngx_http_headers_add,
---------------------------------------------------------------------
Однако make обламывается
s -I src/http -I src/http/modules -o objs/src/http/ngx_http_header_filter_module.o src/http/ngx_http_header_filter_module.c
make: don't know how to make src/http/ngx_http_layouts_filter_module.c. Stop in /home/engineer/nginx-0.3.27.
*** Error code 2
Stop in /home/engineer/nginx-0.3.27 (line 3 of Makefile).
Явно чего-то не хватает...
--
engineer
More information about the nginx-ru
mailing list