ПРОЕКТЫ 


  АРХИВ 


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]

Re: ssi & core



On Fri, 17 Feb 2006, proforg wrote:

как то предыдущщие 2 письма не дошли до листа :) видимо gmail съел,
так что дублирую


On 11/26/05, Igor Sysoev <is@xxxxxxxxxxxxx> wrote:

 On Sat, 26 Nov 2005, proforg wrote:

по поводу ngx_http_memcached_module - а нет ли случайно в планах модуля
котороый просто позволял бы вытаскивать из memcached переменные для
дальнейшего использования в обработке локейшнов / ssi ?

В SSI можно попробовать примерно так:

<!--# include virtual="/mmc_var" -->value is "<!--# echo var="NAME" -->"

/mmc_var возвращает что-то вроде

<!--# set var="NAME" value="TEXT" -->

Ответ в результате выглядит так:

value is "TEXT"

К сожалению, не получается.
Если на локейшн /mmc_var поставить ssi on - то тогда <!--# set
var="NAME" value="TEXT" --> выполняется, но на уровень скрипта который
вызвал /mmc_var значение var не передается, т.к установлено внутри
подзапроса.
если же убрать ssi on, то <!--# set var="NAME" value="TEXT" --> просто
выводится в основном скрипте - ssi фильтр делает один проход по тексту
и обработать это уже не может ...

Игорь, а можно как нить простым способом заставить ssi применяться дважды ?
Для таких случаев. Это я думаю всё равно будет быстрее чем куча подзапросов ...

Сейчас - нет. Переменные создаваемые внутри SSI дальше текущего подзапроса
не хранятся. Надо будет исправить.

и второй вопрос :)


раза 2 в час nginx валится в кору. проявилось после того как стало
больше ssi подзапросов.

nginx-0.3.27

backtrace ::

#0  0xffffe410 in __kernel_vsyscall ()
(gdb) bt
#0  0xffffe410 in __kernel_vsyscall ()
#1  0xb7c32691 in raise () from /lib/tls/i686/cmov/libc.so.6
#2  0xb7c33f5b in abort () from /lib/tls/i686/cmov/libc.so.6
#3  0x08062a60 in ngx_debug_point () at ngx_process.c:529
#4  0x080549f5 in ngx_linux_sendfile_chain (c=0x80549f5, in=0x9e,
limit=678739397109) at ngx_linux_sendfile_chain.c:242
#5  0x0806261c in ngx_http_write_filter. () at
ngx_http_write_filter_module.c:214
#6  0x080755cc in ngx_http_chunked_body_filter.160 (r=0x9b3cd1c,
in=0x9bbb2d0) at ngx_http_chunked_filter_module.c:79
#7  0x08078214 in ngx_http_gzip_body_filter.165 (r=0x9b3cd1c,
in=0x9bbb2d0) at ngx_http_gzip_filter_module.c:467
#8  0x08078f4c in ngx_http_postpone_filter.166 (r=0xb3cd1c09,
in=0xbbb2d008) at ngx_http_postpone_filter_module.c:119
#9  0x08079a8c in ngx_http_charset_body_filter.167 (r=0x8079a8c,
in=0x81f3de4) at ngx_http_charset_filter_module.c:225
#10 0x0807afc0 in ngx_http_ssi_body_filter.168 (r=0x9bbb2d0, in=0x0)
at ngx_http_ssi_filter_module.c:710
#11 0x08062fa4 in ngx_output_chain (ctx=0x0, in=0x6) at ngx_output_chain.c:217
#12 0x08062af2 in ngx_http_copy_filter.151 (r=0x7630308,
in=0xb3c17808) at ngx_http_copy_filter_module.c:109
#13 0x08076303 in ngx_http_range_body_filter.161 (r=0x9bbb2d0, in=0x0)
at ngx_http_range_filter_module.c:460
#14 0x0805d0ac in ngx_http_writer.147 (r=0x9bbb2d0) at ngx_http_request.c:1652
#15 0x0806e98b in ngx_http_finalize_request (r=0x0, rc=6) at
ngx_http_request.c:1488
#16 0x080697b3 in ngx_http_upstream_process_body.156. () at
ngx_http_upstream.c:1744
#17 0x0807119a in ngx_http_upstream_send_response.156 (r=0x0, u=0x6)
at ngx_http_upstream.c:1420
#18 0x0806d8fa in ngx_http_upstream_process_header.156. () at
ngx_http_upstream.c:1140
#19 0x08057144 in ngx_epoll_process_events.141 (cycle=0x8157ad8,
timer=3081870992, flags=135625432) at ngx_epoll_module.c:516
#20 0x0804acbc in ngx_process_events_and_timers (cycle=0x0) at ngx_event.c:243
#21 0x08053a36 in ngx_worker_process_cycle.138 (cycle=0xb7d3aff4,
data=0) at ngx_process_cycle.c:728
#22 0x0804dc95 in ngx_spawn_process (cycle=0x0, proc=0x6, data=0x75f8,
name=0x80d0e48 "Х\031\r\b(\016\r\bЬ\030\r\bЬ\030\r\b", respawn=0) at
ngx_process.c:187
#23 0x0804e293 in ngx_reap_childs.138 (cycle=0x0) at ngx_process_cycle.c:555
#24 0x0804c98e in ngx_master_process_cycle (cycle=0x0) at
ngx_process_cycle.c:157
#25 0x0804a8df in main (argc=135076088, argv=0x80d18f8) at nginx.c:313

fr 4
p *in->buf
p *in->next->buf
p *in->next->next->buf

и так далее пока не скажет "не шмогла".

Всё отладку переносим в личную почту.


Игорь Сысоев
http://sysoev.ru



 




Copyright © Lexa Software, 1996-2009.