Я пытаюсь подключить nginx к php fpm, используя это документация
https://www.nginx.com/resources/wiki/start/topics/examples/phpfcgi/#connecting-nginx-to-php-fpm
Я поместил этот код
location ~ [^/]\.php(/|$) {
fastcgi_split_path_info ^(.+?\.php)(/.*)$;
if (!-f $document_root$fastcgi_script_name) {
return 404;
}
# Mitigate https://httpoxy.org/ vulnerabilities
fastcgi_param HTTP_PROXY "";
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
# include the fastcgi_param setting
include fastcgi_params;
# SCRIPT_FILENAME parameter is used for PHP FPM determining
# the script name. If it is not set in fastcgi_params file,
# i.e. /etc/nginx/fastcgi_params or in the parent contexts,
# please comment off following line:
# fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
Но теперь, когда я попробуйте посетить любую страницу php, она показывает ошибку 404 not found.
Я использую centos 7, использую плагин ENGINTRON cpanel для nginx
Вы проверяли, действительно ли php-fpm работает на порту 9000? PHP-fpm часто настраивается для работы в сокете, например /var/run/php/php7.3-fpm.sock.
. Я бы также проверил с упрощенной конфигурацией перед добавлением других инструкций. Вот с чего я обычно начинаю:
location ~ \.php$ {
include snippets/fastcgi-php.conf; # include any fastcgi_params
#if using socket
#fastcgi_pass unix:/var/run/php/php7.3-fpm.sock;
#if using local tcp 9000 port
#fastcgi_pass 127.0.0.1:9000;
}