nginx memcached error.log

Антон Алехин alekhin at amity.ru
Fri Aug 15 15:37:20 MSD 2008


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





More information about the nginx-ru mailing list