
Я только что установил последнюю версию Nginx с PHP7.4-fpm на новый сервер Ubuntu 20.04.2.
Я добавил виртуальный хост, на котором размещен сайт WordPress, и он загружается нормально, но я заметил, что логи nginx переполнены ошибками, подобными следующим:
[error] 183472#183472: *625 connect() failed (111: Connection refused) while connecting to upstream, client: xx.xxx.xxx.xx, server: example.com, request: "GET /some-page-name/ HTTP/1.1", upstream: "fastcgi://[::1]:8001", host: "example.com", referrer: "https://example.com/"
Погуглив об этом, я узнал отвторой ответна этомПоток ServerFaultчто это произошло из-за того, что я использую адрес ipv6, и что я мог бы исправить это, заменив localhost
на 127.0.0.1
в файлах блока сервера nginx, поскольку fastcgi://[::1]:8001
это не будет работать.
Я внес изменения /etc/nginx/sites-available/example.com.conf
и изменил следующую строку:
fastcgi_pass localhost:8001;
К:
fastcgi_pass 127.0.0.1:8001;
И согласно комментарию на том жеServerFaultответ, в /etc/nginx/sites-available/default
, я изменил следующую строку:
listen 80 default_server;
К:
listen 0.0.0.0:80 default_server;
Однако после внесения вышеуказанных изменений и перезапуска nginx и php7.4-fpm, если я проверю режим выполнения PHP в панели управления сервером (Virtualmin), ни один из доступных двух вариантов FCGId
не FPM
будет использоваться.
Когда я выбираю FPM и нажимаю «Сохранить», fastcgi_pass 127.0.0.1:8001;
строка в файле блока сервера nginx возвращается к предыдущему состоянию fastcgi_pass localhost:8001;
, и указанные выше ошибки начинают появляться снова.
Однако при перезапуске nginx или fpm ситуация listen 0.0.0.0:80 default_server;
не восстановилась.
Как указать FPM использовать адрес IPv4 вместо адреса IPv6?
Примечание.Я попробовал изменить listen = /run/php/php7.4-fpm.sock
значение на listen = 127.0.0.1:8000
, /etc/php/7.4/fpm/pool.d/www.conf
а затем выполнить вышеуказанные действия, но это тоже не помогло, и произошло то же самое.
ПСЭта проблема не связана с панелью управления, которую я использовал, поскольку в Интернете есть довольно много сообщений ServerFault и несколько тем на форумах, которые, по-видимому, связаны с этой проблемой, когда они пытаются использовать PHP-FPM с настройкой двойного стека IPv4/IPv6.