当前位置:  开发笔记 > 编程语言 > 正文

php7.0-fpm.sock位于何处

如何解决《php7.0-fpm.sock位于何处》经验,为你挑选了2个好方法。

我有一个带有目录结构的简单项目

我正在为我的drupal站点设置nginx配置,并且对于fastcgi_pass我一直在使用127.0.0.1:9000但是我想使用这个conf中建议的unix套接字:

 # PHP 7 socket location.
   fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;

但我找不到 php/php7.0-fpm.sock;

我的centos发行版中有以下路径

/var/run/php-fpm/php-fpm.pid

BenRoob.. 21

检查将使用以下命令创建套接字的php-fpm配置:

$ cat /etc/php/7.0/fpm/pool.d/www.conf

寻找listen,例如:

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

php-fpm 您启动进程创建套接字文件.

sudo service php7.0-fpm stop
sudo service php7.0-fpm start

如果创建了套接字文件,请检查目录:

$ cd /run/php && ls -la



1> BenRoob..:

检查将使用以下命令创建套接字的php-fpm配置:

$ cat /etc/php/7.0/fpm/pool.d/www.conf

寻找listen,例如:

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

php-fpm 您启动进程创建套接字文件.

sudo service php7.0-fpm stop
sudo service php7.0-fpm start

如果创建了套接字文件,请检查目录:

$ cd /run/php && ls -la



2> nbari..:

首先检查php-fpm您的系统是否正在运行,为此,您可以使用pgrep例如:

# pgrep -fa php-fpm
5666 php-fpm: master process (/etc/php-fpm.conf)
5667 php-fpm: pool www
5668 php-fpm: pool www
5669 php-fpm: pool www
5670 php-fpm: pool www
5671 php-fpm: pool www

在这种情况下,它显示已启动并正在运行并使用配置文件/etc/php-fpm.conf.在检查配置文件并尝试检查listen =指令之前,您可以快速查看/proc/net/unix以下示例:

# grep php /proc/net/unix

这可能会返回以下内容:

ffff8800bfb2f400: 00000002 00000000 00010000 0001 01 28561 /tmp/php-fpm.sock

在这种情况下,它表明php-fpm套接字的路径位于/tmp/php-fpm.sock一个可以通过检查conf in来验证,/etc/php-fpm.d/www.conf在这种情况下是:listen= /tmp/php-fpm.sock

如果您没有得到任何结果并且php-fpm已启动并运行,通过检查配置,您可能会发现通过在TCP套接字上列出使用默认值:

listen = 127.0.0.1:9000

您可以更改为在Unix套接字上侦听的内容,例如您建议的conf:

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

在一些Linux发行版中通常使用:

listen.owner = www-data
listen.group = www-data
listen.mode = 0660

修改配置后,请不要忘记重新启动服务systemctl restart php-fpm.要检查是否已创建套接字,您可以执行以下操作:

$ file /var/run/php/php7.0-fpm.sock

如果socket存在,如果应该打印出这样的东西:

/var/run/php/php7.0-fpm.sock: socket

推荐阅读
mobiledu2402851373
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有