Есть чёткое ощущение именно Вашей ошибки. Когда Вы пишите "location =" - он воспрнимается именно как локейшн с точным урлом. Именованный локейшн должен записываться так: "location @named".<br><br>Так что - попробуйте.<br>
<br><div class="gmail_quote">2010/1/14 Alexey Kovyrin <span dir="ltr"><<a href="mailto:alexey@kovyrin.net">alexey@kovyrin.net</a>></span><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Честно говоря, лениво :-) работает и так. Просто решил, что лучше<br>
напомнить Игорю о том, что баг таки есть. Мне просто пробовать сейчас<br>
- это мучать продакшн-машины, а это не гуд.<br>
<br>
2010/1/14 Kruglov Eugenie <<a href="mailto:ekruglov@gmail.com">ekruglov@gmail.com</a>>:<br>
<div><div></div><div class="h5">> А попробуйте задать его так:<br>
> location @analytics_docview {<br>
> ...<br>
> }<br>
><br>
> 2010/1/14 Alexey Kovyrin <<a href="mailto:alexey@kovyrin.net">alexey@kovyrin.net</a>><br>
>><br>
>> Доброго всем времени суток,<br>
>><br>
>> Вот, больше года спустя, копаясь в конфигах удивился, почему экшн не<br>
>> internal.... сменил и БАЦ - 5 минут даунтайма :-) Когда заглянул в<br>
>> кору, сразу вспомнил баг. Вот только чего-то мне думалось, что с<br>
>> 0.6.34 до 0.7.64 его починили. Игорь, личная просьба, глянь на него<br>
>> плиз :-)<br>
>><br>
>> 2008/12/11 Alexey Kovyrin <<a href="mailto:alexey@kovyrin.net">alexey@kovyrin.net</a>>:<br>
>> > Решил тут заюзать post_action, чтобы после отдачи страницы документа<br>
>> > юзеру дергать наш сервер аналитики (раньше дергал с бекенда, но щас<br>
>> > приделали squid перед ним - не выходит, так как 90% запросов отдаются<br>
>> > из кеша).<br>
>> ><br>
>> > Сделал вот так:<br>
>> ><br>
>> > location = @analytics_docview {<br>
>> > internal;<br>
>> ><br>
>> > proxy_set_header X-Analytics-page_type 'document';<br>
>> > proxy_set_header X-Analytics-docview_uri $docview_uri;<br>
>> > proxy_set_header X-Analytics-referer $http_referer;<br>
>> > proxy_set_header X-Analytics-user_agent $http_user_agent;<br>
>> > proxy_set_header X-Analytics-user_ip $remote_addr;<br>
>> ><br>
>> > proxy_connect_timeout 5;<br>
>> > proxy_read_timeout 5;<br>
>> > proxy_send_timeout 5;<br>
>> ><br>
>> > access_log logs/analytics-api.log main;<br>
>> > error_log logs/analytics-api.error.log debug;<br>
>> ><br>
>> > proxy_pass <a href="http://XXXXXXX:4000/collector/register_hit" target="_blank">http://XXXXXXX:4000/collector/register_hit</a>;<br>
>> > }<br>
>> ><br>
>> > # Distribute queries among different mongrel packs<br>
>> > # DOCVIEW page - with caching<br>
>> > location /doc/ {<br>
>> > access_log logs/scribd.analytics.log analytics;<br>
>> > add_header X-Served-By backend;<br>
>> ><br>
>> > set $docview_uri $uri;<br>
>> > post_action @analytics_docview;<br>
>> > ..........................................<br>
>> > ... много всего, в основном<br>
>> > ... proxy_pass'ы всякие<br>
>> > ..........................................<br>
>> > }<br>
>> ><br>
>> ><br>
>> ><br>
>> > Результат оказался странным:<br>
>> ><br>
>> > 1) В еррор логе:<br>
>> ><br>
>> > 2008/12/11 02:20:38 [error] 7402#0: *36 could not find named location<br>
>> > "@analytics_docview" while sending to client, client: 66.249.90.136, s<br>
>> > erver: *.<a href="http://scribd.com" target="_blank">scribd.com</a>, request: "GET<br>
>> > /doc/10536/PAN-F49A?query2=WWW.tininfo%<a href="http://40nsdl.co.in" target="_blank">40nsdl.co.in</a> HTTP/1.0",<br>
>> > upstream: "<a href="http://10.10.170.18:8080/doc/10" target="_blank">http://10.10.170.18:8080/doc/10</a><br>
>> > 536/PAN-F49A?query2=WWW.tininfo%<a href="http://40nsdl.co.in" target="_blank">40nsdl.co.in</a>", host: "<a href="http://www.scribd.com" target="_blank">www.scribd.com</a>"<br>
>> ><br>
>> > 2) проверял на трафике в 50+ QPS и за 10-15 секунд получил десяток<br>
>> > core-файлов :-/<br>
>> ><br>
>> > Core was generated by `nginx: worker process '.<br>
>> > Program terminated with signal 11, Segmentation fault.<br>
>> > #0 0x0000000000409e3c in ngx_vsnprintf (buf=0x7fff5291f12c "?*",<br>
>> > max=<value optimized out>, fmt=<value optimized out>,<br>
>> > args=0x7fff5291f030) at src/core/ngx_string.c:426<br>
>> > 426 *--p = (u_char) (ui32 % 10 + '0');<br>
>> > (gdb) bt<br>
>> > #0 0x0000000000409e3c in ngx_vsnprintf (buf=0x7fff5291f12c "?*",<br>
>> > max=<value optimized out>, fmt=<value optimized out>,<br>
>> > args=0x7fff5291f030) at src/core/ngx_string.c:426<br>
>> > #1 0x000000000040a219 in ngx_snprintf (buf=0x7fff5291f12c "?*",<br>
>> > max=140734578683891, fmt=0x2ff <Address 0x2ff out of bounds>)<br>
>> > at src/core/ngx_string.c:100<br>
>> > #2 0x0000000000406353 in ngx_log_error_core (level=4, log=0x7d2f00,<br>
>> > err=0, fmt=0x45e090 "could not find named location \"%V\"")<br>
>> > at src/core/ngx_log.c:98<br>
>> > #3 0x000000000042901b in ngx_http_named_location (r=0x700640,<br>
>> > name=0x671d40) at src/http/ngx_http_core_module.c:1934<br>
>> > #4 0x000000000042b560 in ngx_http_post_action (r=0x700640) at<br>
>> > src/http/ngx_http_request.c:2560<br>
>> > #5 0x000000000042cd35 in ngx_http_finalize_request (r=0x700640,<br>
>> > rc=500) at src/http/ngx_http_request.c:1706<br>
>> > #6 0x0000000000429028 in ngx_http_named_location (r=0x700640,<br>
>> > name=0x671d40) at src/http/ngx_http_core_module.c:1937<br>
>> > #7 0x000000000042b560 in ngx_http_post_action (r=0x700640) at<br>
>> > src/http/ngx_http_request.c:2560<br>
>> > #8 0x000000000042cd35 in ngx_http_finalize_request (r=0x700640,<br>
>> > rc=500) at src/http/ngx_http_request.c:1706<br>
>> > #9 0x0000000000429028 in ngx_http_named_location (r=0x700640,<br>
>> > name=0x671d40) at src/http/ngx_http_core_module.c:1937<br>
>> > #10 0x000000000042b560 in ngx_http_post_action (r=0x700640) at<br>
>> > src/http/ngx_http_request.c:2560<br>
>> > #11 0x000000000042cd35 in ngx_http_finalize_request (r=0x700640,<br>
>> > rc=500) at src/http/ngx_http_request.c:1706<br>
>> > #12 0x0000000000429028 in ngx_http_named_location (r=0x700640,<br>
>> > name=0x671d40) at src/http/ngx_http_core_module.c:1937<br>
>> > #13 0x000000000042b560 in ngx_http_post_action (r=0x700640) at<br>
>> > src/http/ngx_http_request.c:2560<br>
>> > #14 0x000000000042cd35 in ngx_http_finalize_request (r=0x700640,<br>
>> > rc=500) at src/http/ngx_http_request.c:1706<br>
>> > #15 0x0000000000429028 in ngx_http_named_location (r=0x700640,<br>
>> > name=0x671d40) at src/http/ngx_http_core_module.c:1937<br>
>> > #16 0x000000000042b560 in ngx_http_post_action (r=0x700640) at<br>
>> > src/http/ngx_http_request.c:2560<br>
>> > #17 0x000000000042cd35 in ngx_http_finalize_request (r=0x700640,<br>
>> > rc=500) at src/http/ngx_http_request.c:1706<br>
>> > #18 0x0000000000429028 in ngx_http_named_location (r=0x700640,<br>
>> > name=0x671d40) at src/http/ngx_http_core_module.c:1937<br>
>> > #19 0x000000000042b560 in ngx_http_post_action (r=0x700640) at<br>
>> > src/http/ngx_http_request.c:2560<br>
>> > .............<br>
>> > ............тут очень много одинаковых блоков вызовов (злобная такая<br>
>> > рекурсия)<br>
>> > ............<br>
>> > #39500 0x000000000042cd35 in ngx_http_finalize_request (r=0x700640,<br>
>> > rc=500) at src/http/ngx_http_request.c:1706<br>
>> > #39501 0x0000000000429028 in ngx_http_named_location (r=0x700640,<br>
>> > name=0x671d40) at src/http/ngx_http_core_module.c:1937<br>
>> > #39502 0x000000000042b560 in ngx_http_post_action (r=0x700640) at<br>
>> > src/http/ngx_http_request.c:2560<br>
>> > #39503 0x000000000042cd35 in ngx_http_finalize_request (r=0x700640,<br>
>> > rc=500) at src/http/ngx_http_request.c:1706<br>
>> > ---Type <return> to continue, or q <return> to quit---<br>
>> ><br>
>> > Дальше мне надоело жать ентер :-)<br>
>> ><br>
>> > Внимание, вопрос: что делать? :-(<br>
>> ><br>
>> > --<br>
>> > Alexey Kovyrin<br>
>> > <a href="http://kovyrin.info/" target="_blank">http://kovyrin.info/</a><br>
>> ><br>
>><br>
>><br>
>><br>
>> --<br>
>> Alexey Kovyrin<br>
>> <a href="http://kovyrin.net/" target="_blank">http://kovyrin.net/</a><br>
>> _______________________________________________<br>
>> nginx-ru mailing list<br>
>> <a href="mailto:nginx-ru@nginx.org">nginx-ru@nginx.org</a><br>
>> <a href="http://nginx.org/mailman/listinfo/nginx-ru" target="_blank">http://nginx.org/mailman/listinfo/nginx-ru</a><br>
><br>
><br>
><br>
> --<br>
> Faithfully yours, Eugenie<br>
> ICQ #701217<br>
> GTalk <a href="mailto:ekruglov@gmail.com">ekruglov@gmail.com</a><br>
><br>
> _______________________________________________<br>
> nginx-ru mailing list<br>
> <a href="mailto:nginx-ru@nginx.org">nginx-ru@nginx.org</a><br>
> <a href="http://nginx.org/mailman/listinfo/nginx-ru" target="_blank">http://nginx.org/mailman/listinfo/nginx-ru</a><br>
><br>
><br>
<br>
<br>
<br>
--<br>
Alexey Kovyrin<br>
<a href="http://kovyrin.net/" target="_blank">http://kovyrin.net/</a><br>
_______________________________________________<br>
nginx-ru mailing list<br>
<a href="mailto:nginx-ru@nginx.org">nginx-ru@nginx.org</a><br>
<a href="http://nginx.org/mailman/listinfo/nginx-ru" target="_blank">http://nginx.org/mailman/listinfo/nginx-ru</a><br>
</div></div></blockquote></div><br><br clear="all"><br>-- <br>Faithfully yours, Eugenie<br>ICQ #701217<br>GTalk <a href="mailto:ekruglov@gmail.com">ekruglov@gmail.com</a><br>