Re: php файл не парсится, а отдаётся как есть

Алексей Сундуков public-mail на alekciy.ru
Пн Дек 12 09:54:03 UTC 2011


При таком конфиге:

server {
    listen          8080;
    server_name     glinka.fm;
    root            /home/renat/www/glinka;
    index           index.php index.html;

    location / {
        try_files   $uri $uri/ @backend;
    }

    location ~ \.php$ {
        try_files       $uri @backend;
        fastcgi_pass    unix:путь_до_сокета;

        include         /etc/nginx/fastcgi_params;

        fastcgi_param   SCRIPT_FILENAME
/home/renat/www/glinka$fastcgi_script_name;
    }

    location @backend {
        fastcgi_pass    unix:путь_до_сокета;

        include         /etc/nginx/fastcgi_params;

        fastcgi_param   SCRIPT_FILENAME     /home/renat/www/glinka/index.php;
        fastcgi_param   SCRIPT_NAME         index.php;
        fastcgi_param   QUERY_STRING        q=$uri&$args;
        fastcgi_param   REQUEST_URI         q=$uri&$args;
        fastcgi_param   DOCUMENT_ROOT       /home/renat/www/glinka;
    }
}

Если PHP файл существует, то будет выполнен как PHP, а не отдан как
статика. Если файла нет, то запрос будет отдан в
/home/renat/www/glinka/index.php который будет обрабатывается как PHP
файл. Возможный минус - запрос будет отдан для любого несуществующего
файла (jpg, png и прочие подобные статические), т.е. PHP бэкэнд будет
каждый раз дергаться и должен будет самостоятельно отдать nginx 404
статус (если необходимо). Хотя лично для меня это плюс ибо позволяет
на уровне приложения получать все запросы и в зависимости по ситуации
возвращать результат. К примеру, динамически создать картинку.

12 декабря 2011 г. 13:28 пользователь mennanov <nginx-forum at nginx.us> написал:
> А как его передать в php-fpm? Или какой
> тогда location сделать..?
>
> Posted at Nginx Forum: http://forum.nginx.org/read.php?21,219884,219910#msg-219910
>
> _______________________________________________
> nginx-ru mailing list
> nginx-ru at nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx-ru


Подробная информация о списке рассылки nginx-ru