php fpm没有';t创建.sock文件

php fpm没有';t创建.sock文件,php,centos,php-7,Php,Centos,Php 7,我有一个AWS服务器在AmazonLinux上运行 我使用本指南安装php7(页面底部): 我想使用nginx而不是Apache,所以我还安装了php70wfpm和nginx包。但是,当我服务启动php fpm时,它不会在服务器上的任何位置创建php-fpm.sock文件。我已经签入/var/run,还运行了find/-name“*.sock”,它只返回/var/run/rpcbind.sock编辑:这里真正的解决方案是nginx配置中的监听www.conf和fastcgi\u pass必须匹配

我有一个AWS服务器在AmazonLinux上运行

我使用本指南安装php7(页面底部):


我想使用nginx而不是Apache,所以我还安装了php70wfpm和nginx包。但是,当我
服务启动php fpm
时,它不会在服务器上的任何位置创建php-fpm.sock文件。我已经签入/var/run,还运行了
find/-name“*.sock”
,它只返回
/var/run/rpcbind.sock

编辑:这里真正的解决方案是nginx配置中的监听
www.conf
fastcgi\u pass
必须匹配。是否使用套接字或tcp取决于您

答案是根本不使用
.sock
文件

/etc/php fpm.d/www.conf
中,它有: 所以在我的nginx配置中 而不是使用
我知道太晚了,但也许这能帮上忙。您可以使用Python从头开始创建一个新的锁文件

python -c "import socket as s; sock = s.socket(s.AF_UNIX); sock.bind('/run/php/php-fpm.sock')"

如果您的php fpm由
systemd
控制,您必须检查php fpm服务单元文件中的
PrivateTmp
选项(您可以通过
find/etc/systemd-name“php fpm*”!-键入d

如果此选项设置为true
PrivateTmp=true
,则将为php fpm主进程创建新的文件系统命名空间,默认情况下,其他进程将无法操作此命名空间中的文件(例如nginx)。您可以在此处阅读有关systemd
PrivateTmp
选项的更多详细信息:


希望这有帮助

在我的例子中,我错过了
/etc/php/7.0/fpm/pool.d/wordpress.conf
正确的部分

[wordpress]
listen = /var/run/php7-fpm-wordpress.sock
*.sock文件不是根据文件名创建的,而是根据节名创建的

  • 请确保您有以下文件夹并且它是可写的。
    /var/run/php fpm

  • 然后在你的
    www.conf
    中:
    listen=/var/run/php-fpm/php-fpm.sock

  • 然后运行:
    sudo服务php fpm重启

  • 然后更新您的
    nginx.conf
    fastcgi\u pass unix:/var/run/php-fpm/php-fpm.sock
  • 最后重新启动nginx:
    sudo服务nginx重启

  • 我出现了错误,因为我复制粘贴了一个pool.d/xx.conf,而新的pool.d/xx.conf具有相同的pool名称[whatever],所以第二个没有加载。 没有错误,没有套接字


    希望这对某人有所帮助:)

    我遇到了相同的问题-没有创建套接字-和Phil的解决方案相同

    我刚刚复制粘贴了一个池文件,只在listen部分更改了套接字名称。没有插座

    这是因为池名称已在使用中。如果已经有同名的池,则不会创建新的套接字

    因此,为每个套接字指定一个唯一的池名非常重要


    因此,在复制/粘贴池配置时:同时更改池名和套接字名

    在我的例子中,当将Ispconfig 3.2.2中特定网站的PHP版本示例更改为PHP7.4时,webxx.conf文件应该在
    /etc/PHP/7.4/fpm/pool.d/
    中创建,但它是在根
    /
    中创建的


    所以现在我只需将webxx.conf文件迁移到
    /etc/php/7.4/fpm/pool.d/
    并重新启动PHP7.4-fpm
    sudo systemctl restart PHP7.4-fpm
    ,它工作正常。

    fpm配置正确吗,请参阅文件
    /etc/php5/fpm/pool.d/.conf
    文件?我在该文件中找到了答案,它没有指向任何套接字文件。这不是一个真正的答案,只是一个替代解决方案。手头的问题是关于套接字文件的,而不是TCP/IPPP FPM通常更容易在TCP/IP上设置,但因此速度较慢。@尽管如此,套接字只能处理非常小的流量。适用于php7+centos7+nginx^^no。sock文件在
    服务启动时创建(权限?不确定),不管怎样,这个答案对我帮助很大:哈利路亚在从另一个配置文件复制和粘贴后,我也忘了更改“池名”(你是说“节”)了。如果你在托管多个站点,你需要什么
    fastcgi_param
    ?你能重复使用一个插座吗?
    fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
    
    python -c "import socket as s; sock = s.socket(s.AF_UNIX); sock.bind('/run/php/php-fpm.sock')"
    
    [wordpress]
    listen = /var/run/php7-fpm-wordpress.sock