NGINX: PHP-FPM — «Primary script unknown»

Автор: | 04/01/2017

Часто при настройке нового виртуалхоста вылазит ошибка вида:


2016/12/14 15:50:51 [error] 24586#24586: *850363 FastCGI sent in stderr: «Primary script unknown» while reading response header from upstream, client: 194.***.***.45, server: shop.domain.org.ua, request: «GET /index.php HTTP/1.1», upstream: «fastcgi://unix:/var/run/shop.domain.org.ua-php-fpm.sock:», host: «shop.domain.org.ua»

Как отмечено вот тут>>> — вызвана она всегда (?) некорректными параметрами  в fastcgi_param.

В самом деле — файл настроек выглядит следующим образом:

server {
    ...

    root /var/www/vhosts/shop.domain.org.ua;

    location / {
        index index.php;
    }

    location ~ \.php$ {
        include /etc/nginx/fastcgi_params;
        fastcgi_pass unix:/var/run/shop.domain.org.ua-php-fpm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME /var/www/shop.domain.org.ua$fastcgi_script_name;
    }
}

Обращаем внимание на путь в fastcgi_param:

fastcgi_param SCRIPT_FILENAME /var/www/shop.domain.org.ua$fastcgi_script_name;

И путь в root:

root /var/www/vhosts/shop.domain.org.ua;

Исправляем /var/www/shop.domain.org.ua$fastcgi_script_name на /var/www/vhosts/shop.domain.org.ua$fastcgi_script_name — и:


194.***.***.45 — — [14/Dec/2016:15:53:32 +0000] «GET /index.php HTTP/1.1» 200 16 «-» «Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/53.0.2785.143 Chrome/53.0.2785.143 Safari/537.36»
….

Готово.