NGINX: PHP-FPM – “Primary script unknown”

 

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


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”
….

Готово.