ПРОЕКТЫ 


  АРХИВ 


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



On Fri, Aug 15, 2008 at 02:31:06PM +0400, Антон Алехин 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 напрягает, видимо что-то все таки 
> неправильно сделано.

Нужно добавить
        root    /var/www/;
в location ~* \.php$ или вынести на уровень сервера.

Конструкция

    location ~* \.php$ {
        if ($request_uri ~* get_data\.php\?t=(\d+)\&r=\d+$) {

кандидат для замены на

    location ~* get_data\.php$ {
            if ($args ~* t=(\d+)\&r=\d+$) {
            }
    }

    location ~* \.php$ {


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



 




Copyright © Lexa Software, 1996-2009.