今天早些时候,我更新了一个服务器上的软件包。 其中一个包是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服务