如何找到我的php-fpm.sock?

如何找到我的php-fpm.sock?,php,linux,sockets,amazon-web-services,nginx,Php,Linux,Sockets,Amazon Web Services,Nginx,我运行Wordpress时使用的是:Nginx+PHP-FPM+APC+W3总缓存+页面速度 经过3天的研究和配置,我成功地使它工作。 我将PHP-FPM配置为通过127.0.0.1:9000运行。但现在我想通过套接字进行配置 问题是我在服务器中找不到套接字路径。我刚刚发现/var/run/php-fpm/php-fpm.pid,但是php-fpm.sock不在那里 运行whereis php fpm输出为: php-fpm: /usr/sbin/php-fpm /etc/php-fpm.d /

我运行Wordpress时使用的是:Nginx+PHP-FPM+APC+W3总缓存+页面速度

经过3天的研究和配置,我成功地使它工作。 我将PHP-FPM配置为通过127.0.0.1:9000运行。但现在我想通过套接字进行配置

问题是我在服务器中找不到套接字路径。我刚刚发现
/var/run/php-fpm/php-fpm.pid
,但是
php-fpm.sock
不在那里

运行
whereis php fpm
输出为:

php-fpm: /usr/sbin/php-fpm /etc/php-fpm.d /etc/php-fpm.conf /usr/share/man/man8/php-fpm.8.gz
但是那里没有任何
php fpm.sock

如何找到
php fpm.sock

我的规格:

  • 亚马逊微EC2
  • Linux版本3.4.48-45.46.amzn1.x86_64 Red Hat 4.6.3-2(我认为它基于CentOS 5)
  • PHP 5.3.26(fpm fcgi)

检查配置文件,配置路径是
/etc/php5/fpm/pool.d/www.conf
,在那里您可以按配置找到路径,如果需要可以更改

编辑

好吧,你是正确的,你需要将
listen=127.0.0.1:9000
替换为
listen=/var/run/php5 fpm/php5 fpm.sock
,然后你需要运行
sudo服务php5 fpm restart
,并确保它正确重启,如果没有,那么确保
/var/run/
有一个名为
php5 fpm
的文件夹,或者让它听
/var/run/php5 fpm.sock
,因为我不认为
/var/run
中的文件夹是自动创建的,我记得我必须编辑启动脚本来创建该文件夹,否则,即使重新启动后您
mkdir/var/run/php5 fpm
,该文件夹也将消失,服务启动将失败。

我知道这是老问题,但由于我刚才也遇到了同样的问题并找到了答案,我想我可能会分享它。问题是由于pood.d/目录中的配置造成的

打开

发现

改为

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

之后重新启动nginx和php5 fpm服务,并检查php5-fpm.sock是否已经创建。

7年后,我在CentOS上遇到了同样的问题

发帖希望它能帮助别人

步骤:

首先,配置php fpm设置:

->
systemctl停止php fpm.service

->
cd/etc/php fpm.d

->
ls-hal
(应查看www.conf文件)

->
cp www.conf www.conf.backup
(备份文件以防万一)

->
vi www.conf

example location:
cat /usr/src/php/sapi/fpm/php-fpm.conf
->
:/listen=
(要进入我们需要更改的行)

->
i
(进入VI的文本插入模式)

->从
listen=127.0.0.1:9000更改为
listen=/var/run/php fpm/php fpm.sock

->
Esc
然后
:/listen.owner
(查找)然后
i
(更改)

->取消注释
listen.owner=nobody
listen.group=nobody

->按Esc键,然后键入
:/user=
然后键入
i

->将
user=apache
更改为
user=nginx

->并将
group=apache
更改为
group=nginx

->点击
Esc
,然后点击
:wq
(保存并退出)

->
systemctl启动php fpm.service
(现在您将拥有一个php-fpm.sock文件)

其次,在
/etc/nginx/nginx.conf
文件中配置
服务器{}
块。然后运行:
systemctl重新启动nginx.service

最后,在/usr/share/nginx/html目录中为nginx服务器创建一个新的.php文件,作为测试通过internet浏览器提供

->
vi/usr/share/nginx/html/mytest.php

->键入
o

->
(PHP页面将在浏览器中打印日期和日期)

->点击电子稳定控制系统
Esc

->键入
:wq
(保存并编辑)

->打开浏览器并转到:
http://yourDomainOrIPAddress/mytest.php

(您应该看到打印的日期)

当您查找
php fpm.conf

example location:
cat /usr/src/php/sapi/fpm/php-fpm.conf
您将看到,您需要配置PHP FastCGI进程管理器以实际使用Unix套接字。默认情况下,
listen
指令`设置为在一个端口上的TCP套接字上侦听。如果没有定义Unix套接字,则找不到Unix套接字文件

; The address on which to accept FastCGI requests.
; Valid syntaxes are:
;   'ip.add.re.ss:port'    - to listen on a TCP socket to a specific IPv4 address on
;                            a specific port;
;   '[ip:6:addr:ess]:port' - to listen on a TCP socket to a specific IPv6 address on
;                            a specific port;
;   'port'                 - to listen on a TCP socket to all IPv4 addresses on a
;                            specific port;
;   '[::]:port'            - to listen on a TCP socket to all addresses
;                            (IPv6 and IPv4-mapped) on a specific port;
;   '/path/to/unix/socket' - to listen on a unix socket.
; Note: This value is mandatory.
listen = 127.0.0.1:9000

我第一次在centos7上运行LEMP时遇到了这个问题。请参阅此

我重新启动nginx来测试phpinfo页面,但是

现在不是遥不可及

然后我使用
tail-f/var/log/nginx/error.log
查看更多信息。我发现是 php-fpm.sock文件不存在。然后我重新启动系统,一切正常

这里可能不需要像Fath那样重新启动系统,只需重新加载nginx和php-fpm


解决了我的问题,我看

sudo tail -f /var/log/nginx/error.log
错误是找不到php5-fpm.sock

我看
sudols-lah/var/run/

没有php5-fpm.sock

我编辑了www.conf

改变

listen = 127.0.0.1:9000
为了


重新启动

在我的“www.conf”中配置为“listen=127.0.0.1:9000”。没有任何sockt路径。。。如果我在那个文件中配置“/var/run/php fpm/php fpm.sock”,并将这个patsh放在“nginx.conf”中,我会得到“Bad Gatway”(我想这是因为“/var/run/php fpm/php fpm.sock”不在那里),文件夹
/var/run/php fpm/
已经创建好了。但该文件夹中唯一的文件是
phpfpm.pid
。我创建了一个名为
php fpm.sock
configure nginx和php fpm的空文件,但没有成功。我想问题是我没有
.sock
文件。但是我怎样才能得到它呢?好的,让我澄清一下,sock文件不是你创建的文件,当服务成功启动时,它会创建文件,你是否尝试像我说的那样启动服务?尝试运行
sudo服务php5 fpm status
它可能会说它没有运行,您是否检查了错误日志
sudo vim /etc/php5/fpm/pool.d/www.conf
listen = 127.0.0.1:9000
listen = /var/run/php5-fpm.sock