更新了php5-fpm,不能再使用socket了

今天早些时候,我更新了一个服务器上的软件包。 其中一个包是php5-fpm的更新,这似乎破坏了我使用unix:/var/run/php5-fpm.sock能力unix:/var/run/php5-fpm.sock

免责声明 :我最近才开始使用Linux; 我不完全明白这里发生了什么。

我已经回顾了很多其他的问题,但一直没能find答案我的问题,这是我得到一个502错误的网关错误,如果我尝试使用php5-fpm.sock而不是传递到127.0.0.1:9000

以下是一些基于其他问题的相关细节:

  • 我的php5-fpm进程正在运行。
  • 我的/etc/php5/fpm/pool.d/www.conf文件有listen = /var/run/php5-fpm.sock
  • 我的服务器块有fastcgi_pass = unix:/var/run/php5-fpm.sock
  • php5-fpm.sock 确实存在于/var/run/

当升级php5-fpm时,它问我是否想覆盖我的www.conf。 我检查了差异,维护者文件和我的唯一变化是维护者的listen = 127.0.0.1:9000设置为默认值。

select覆盖并完成升级php5-fpm之后,我打开/etc/php5/fpm/pool.d/www.conf并将listen = /var/run/php5-fpm.sock改为listen,就像它已经事先设置。 然后我重新启动了php5-fpm,然后按照nginx的顺序。

我现在得到一个502时,访问该域名,并在一个完整的损失。 如果我在我的主机文件中将www.conf和fastcgi_pass中的listen更改为127.0.0.1:9000 ,则一切正常。 如果有问题,我正在使用Ubuntu 12.04LTS。

非常感谢您的帮助。

您应该使用ls -l /var/run/php5-fpm.sock来查看php5-fpm.sock文件的所有者

我相信你会发现它设置为root,并且您的Web服务器作为www-data运行。 此外,www.conf中的权限是0660,这意味着只有root才有权限。

您可以取消注释与sock用户相关的行,并将其设置为www-data并重新启动php5-fpm服务