Welcome! Log In Create A New Profile

Advanced

Re: nginx rewrite + memcached не срабатывает эта связка

TJ@dir.bg
June 16, 2010 09:46AM
Ок, пробуем сдисковым кешем и с указанным вами конфигом:

nginx version: nginx/0.8.40
built by gcc 4.3.1 (Debian 4.3.1-2)
TLS SNI support enabled
configure arguments: --without-http_uwsgi_module
--conf-path=/etc/nginx/nginx.conf
--error-log-path=/var/log/nginx/error.log --pid-path=/var/run/nginx.pid
--lock-path=/var/lock/nginx.lock
--http-log-path=/var/log/nginx/access.log
--http-client-body-temp-path=/var/lib/nginx/body
--http-proxy-temp-path=/var/lib/nginx/proxy
--http-fastcgi-temp-path=/var/lib/nginx/fastcgi
--with-http_stub_status_module --with-http_flv_module
--with-http_ssl_module --with-http_dav_module --with-http_realip_module

На это "proxy_pass 127.0.0.1:8070/news.php?id=$2;" идет ругань в логах:

2010/06/16 11:55:03 [error] 16062#0: *2845 invalid URL prefix in
"127.0.0.1:8050/news.php?id=6456827", client: 123.123.123.123, server:
aaaa.bbb.cc, request: "GET /news/la-la-la-6456827 HTTP/1.1", host:
"aaaa.bbc.cc"


С уважением,
TJ


Igor Sysoev пишет:
> On Thu, Jun 10, 2010 at 06:41:59PM +0400, Igor Sysoev wrote:
>
>
>> On Thu, Jun 10, 2010 at 05:09:49PM +0400, TJ@dir.bg wrote:
>>
>>
>>> Приветствую!
>>>
>>> Nginx 0.7.65, debian
>>>
>>> Есть мемкеш, в нем по ключу "$host:$uri" лежит содержимое страницы
>>> (ключи экспарятся каждую минуту).
>>>
>>> Если такого ключа нет, управление передается (proxy_pass и далее)
>>> php-скрипту, который отрабатывает запрос, показывает содержимое и кладет
>>> содержимое страницы в кеш по нужному ключу.
>>>
>>> Тут все стандартно, все работает.
>>>
>>> Также есть rewrite, работающий, проверено.
>>>
>>> А вот при попытке скрестить реврайт и мемкеш получается странное,
>>> редирект на корень хоста!
>>>
>>>
>>> Кусок конфига:
>>> ...
>>> location / {
>>>
>>> if ($request_method = POST) {
>>> proxy_pass http://127.0.0.1:8050;
>>> break;
>>> }
>>>
>>> location /news/ {
>>> rewrite ^/news/(.*)-([0-9]+)$ /news.php?id=$2 last;
>>> }
>>>
>>> set $memcached_key "$host:$uri";
>>>
>>> memcached_pass 10.100.0.47:11211;
>>>
>>> default_type text/html;
>>> error_page 404 502 403 503 = /_fall_ ;
>>> }
>>>
>>> location = /_fall_ {
>>> proxy_pass 127.0.0.1:8070
>>> ...
>>> }
>>> ...
>>>
>>> Причем, выносили rewrite за пределы location / (меняя на break в конце)
>>> - не помогает.
>>>
>>> реврайт срабатывает:
>>> 2010/06/09 10:10:21 [notice] 12727#0: *2215 "^/news/(.*)-([0-9]+)$"
>>> matches "/news/la-la-la-6456827", client: 123.123.123.123, server:
>>> aaaa.bbb.cc, request: "GET /news/la-la-la-6456827 HTTP/1.1", host:
>>> "aaaa.bbb.cc"
>>> 2010/06/09 10:10:21 [notice] 12727#0: *2215 rewritten data: "/news.php",
>>> args: "id=6456827", client: 123.123.123.123, server: aaaa.bbb.cc,
>>> request: "GET /news/la-la-la-6456827 HTTP/1.1", host: "aaaa.bbb.cc"
>>>
>>> После не следует никакого обращения к php-скрипту news.php, в proxy_pass
>>> не передается ничего, просто редирект в /
>>>
>>> В чем может быть затык?
>>>
>>> Спасибо за помощь!
>>>
>> Поставьте 0.8.40 с таким конфигом:
>>
>> proxy_cache_path /path/to/cache levels=1:2 keys_zone=CACHE:10m;
>>
>> server {
>>
>
> + proxy_cache CACHE;
> + proxy_cache_valid 1m;
>
>
>> location / {
>> proxy_pass 127.0.0.1:8070;
>> }
>>
>> location /news/ {
>> location ~ ^/news/(.*)-([0-9]+)$ {
>> proxy_pass proxy_pass 127.0.0.1:8070/news.php?id=$2;
>> }
>> }
>>
>
>
>

_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
http://nginx.org/mailman/listinfo/nginx-ru
Subject Author Posted

nginx rewrite + memcached не срабатывает эта связка

TJ@dir.bg June 10, 2010 09:12AM

Re: nginx rewrite + memcached не срабатывает эта связка

akalend June 10, 2010 09:50AM

Re: nginx rewrite + memcached не срабатывает эта связка

TJ@dir.bg June 10, 2010 10:04AM

Re: nginx rewrite + memcached не срабатывает эта связка

Igor Sysoev June 10, 2010 10:44AM

Re: nginx rewrite + memcached не срабатывает эта связка

Igor Sysoev June 10, 2010 10:50AM

Re: nginx rewrite + memcached не срабатывает эта связка

TJ@dir.bg June 11, 2010 05:30AM

Re: nginx rewrite + memcached не срабатывает эта связка

TJ@dir.bg June 16, 2010 09:46AM

Re: nginx rewrite + memcached не срабатывает эта связка

TJ@dir.bg June 17, 2010 03:24AM

Re: nginx rewrite + memcached не срабатывает эта связка

TJ June 29, 2010 04:30AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 141
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready