Назад | Перейти на главную страницу

Nginx + fastcgi для запуска PHP-скрипта, но он все время говорил мне «Файл не найден»

Вот часть конфига в серверном блоке:

Мне не удалось выполнить ни один скрипт php, я поместил файл с именем test.php в / var / html, но когда я указываю на http://localhost/test.php , Я получил результат:

File not found.,

Это не сгенерировано nginx, поскольку оно отличается от 404-й страницы nginx.

location / {
    root   /var/html;
    index  index.html index.htm;
}

    location ~ \.php$ {
        fastcgi_pass   unix:/var/run/php-fpm/php-fpm.sock;
        fastcgi_index  index.php; 
        fastcgi_intercept_errors on;
        fastcgi_param  SCRIPT_NAME        $fastcgi_script_name;
        fastcgi_param  SCRIPT_FILENAME    $document_root$fastcgi_script_name;
        include        fastcgi.conf;
    }

Я что-нибудь пропустил?

Вы определяете корень документа под / местоположение, и это не относится к \.php$ расположение. Переместите root директива вне / расположение так, чтобы оно применялось к обоим.

root   /var/html;
location / {
    index  index.html index.htm;
}
location ~ \.php$ {
    ...
}