php-fpm.sock 缺失:php7.2 on CentOS 7

php-fpm.sock is missing: php7.2 on CentOS 7

总结:我正在尝试在PHP7.2和CentOS 7上使用Nginx,但是找不到php-fpm.sock

我曾经在 Ubuntu16 上使用 PHP7.0。最近换成CentOS 7。现在我正在尝试使用 Nginx 和最新的 PHP(即 PHP7.2)进行设置

On PHP7.0 on Ubuntu 16,php-fpm 的套接字文件存储在...

/run/php/php7.0-fpm.sock

然而,在 PHP7.2。和 CentOS7,我没有看到 /run/php/ 目录。所以,很明显 PHP7.2 和 CentOS 上的 Nginx 不能用 say 方式配置

我搜索了 Whosebug,但大多数帖子都涉及 php 的旧版本(例如 this one

如果我 运行 yum install php-fpm,结果是 "already installed",所以我确定 php-fpm 本身已经存在

如果我运行"ps aux | grep php-fpm"...

我直接看到有一个,名字叫/etc/php-fpm.d,但是里面只有一个叫www.conf的文件,没有socket文件

This tutorail显示sock在PHP7.2和CentOS 7上存储为/run/php-fpm/www.sock,但在我的机器上,只有php-fpm.pid.

那么,sock 文件去哪儿了?任何建议将不胜感激。

PS:我也对为什么 Ubuntu+PHP7 和 CentOS+PHP7.2 在存储位置上有如此大的差异感兴趣 PHP 个文件

这两个发行版(Ubuntu 和 CentOS)使用不同的包机制(apt vs yum),不同的包和不同的维护者以不同的方式处理事情。因此,您可能会认为两个系统之间的结构甚至工作方式存在很大差异。

Remi 的默认 PHP-FPM 配置确实有一个池侦听端口 9000(AFAIK)。

如果你想让它监听 Unix 套接字,你必须调整 PHP-FPM 池配置。即/etc/php-fpm.d/www.conf。所以你要在那里指定:

listen = /var/run/php-fpm/php-fpm.sock

这只是给你一个想法:)