ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

ngx_http_layouts_filter_module



 Решил попробовать сделать модуль а-ля 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




 




Copyright © Lexa Software, 1996-2009.