ПРОЕКТЫ 


  АРХИВ 


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: nginx memcached error.log



Roxis wrote:
On Friday 15 August 2008, Антон Алехин wrote:
Добрый день!

Соединил nginx с memcached, все работает, однако в error.log пишется
ошибка:

2008/08/15 14:04:33 [error] 7922#0: *747 open()
"/usr/local/nginx/html/get_comments.php" failed (2: No such file or
directory), client: 127.0.0.1, server: localhost, request: "GET
/get_comments.php?t=1218793745&r=7209 HTTP/1.1", host: "localhost",
referrer: "http://localhost/";


конфиг:

    location / {
        ssi on;
        root    /var/www/;
        index   index.html index.php;
    }

    location ~* \.php$ {
        if ($request_uri ~* get_data\.php\?t=(\d+)\&r=\d+$) {
            add_header    Content-Type    "text/html;
charset=windows-1251"; set $memcached_key "$1";
            memcached_pass 127.0.0.1:11211;
            error_page 404 405 502 504 = @fastcgi;
        }
        error_page 404 405 502 504 = @fastcgi;
    }

    location @fastcgi {
            fastcgi_pass    127.0.0.1:8888;
            ...

Т. е. если запрос не проходить по условию if ($request_uri ~*
get_data\.php\?t=(\d+)\&r=\d+$), он почему-то ищется в default root и не
найдя там файла по 404 отправляет запрос к fastsgi. Работать, то оно
работает, но растущий error.log напрягает, видимо что-то все таки
неправильно сделано.

Как можно исправить ситуацию?

прописать в location ~* \.php$
fastcgi_pass    127.0.0.1:8888;
...
не катит. При таком конфиге:

   location ~* \.php$ {
       fastcgi_pass    127.0.0.1:8888;
       if ($request_uri ~* get_data\.php\?t=(\d+)\&r=\d+$) {
           add_header    Content-Type    "text/html; charset=windows-1251";
           set $memcached_key "$1";
           memcached_pass 127.0.0.1:11211;
           error_page 404 405 502 504 = @fastcgi;
       }
       error_page 404 405 502 504 = @fastcgi;
   }

   location @fastcgi {
       fastcgi_pass    127.0.0.1:8888;
       ...

клиенту отдается 404 и на fastcgi ничего не передается.


С уважением, Антон Алёхин.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ООО ?Амити Инвестиционная Группа?
Россия, 109004, г. Москва
ул. Верхняя Радищевская, д. 18, стр. 2
Тел./факс: (495) 755-69-43



 




Copyright © Lexa Software, 1996-2009.