Резюме: я пытаюсь использовать Nginx на PHP7.2 и CentOS 7, но не могу найти php-fpm.sock
Раньше я использовал PHP7.0 в Ubuntu 16. Недавно перешел на ЦенОС 7. и теперь я пытаюсь настроить его с помощью Nginx и последней версии PHP (например, PHP7.2)
На PHP7.0 в Ubuntu 16 файл сокета php-fpm хранился в...
/run/php/php7.0-fpm.sock
Однако на PHP7.2. и CentOS7, я не вижу каталог /run/php/. Итак, понятно, что Nginx на PHP7.2 и CentOS нельзя настроить таким образом
Я искал Stackoverflow, но большинство сообщений касались более старых версий php (например, Вот этот).
Если я запускаю yum install php-fpm, это приводит к "already installed", так что я уверен, что сам php-fpm уже там
Если я запускаю "ps aux | grep php-fpm"...
Я вижу, что есть прямое имя /etc/php-fpm.d, но у него есть только файл с именем www.conf, а не файл сокета.
Этот учебник показывает, что носок хранится как /run/php-fpm/www.sock на PHP7.2 и CentOS 7, но на моей машине есть только php-fpm.pid.
Итак, куда делся файл sock? Любые советы будут оценены.
PS: Меня также интересует, почему Ubuntu+PHP7 и CentOS+PHP7.2 имеют такую разницу в том, где хранить файлы PHP.






В двух дистрибутивах (Ubuntu и CentOS) используются разные механизмы пакетов (apt и yum), разные пакеты и разные сопровождающие с разным подходом к вещам. Таким образом, вы можете ожидать довольно большой разницы в том, как вещи структурированы или даже работают между двумя системами.
Конфигурация PHP-FPM по умолчанию от Remi действительно имеет один пул, прослушивающий порт 9000 (AFAIK).
Если вы хотите, чтобы он прослушивал сокет Unix, вам нужно настроить конфигурацию пула PHP-FPM. То есть /etc/php-fpm.d/www.conf. Итак, вы захотите указать там:
listen = /var/run/php-fpm/php-fpm.sock
Это просто для того, чтобы дать вам представление :)
Дополнительная информация: В Fedora и готовящейся к выпуску EL-8 (выпущена 8-бета) FPM использует UDS, и httpd, и nginx используют его с соответствующей конфигурацией (работает «из коробки», без каких-либо изменений)
К вашему сведению: когда была выпущена CentOS 7, версия HTTP-сервера apache не поддерживала UDS, поэтому мы решили использовать сетевой сокет для лучшей совместимости. Переключение на UDS теперь возможно, поскольку поддерживается как httpd, так и nginx. См.: developer.redhat.com/blog/2017/10/25/php-configuration-tips (§ 1.4.2)