更新了php5-fpm,不能再使用socket了
今天早些時候,我在我的一台伺服器上更新了軟體包。其中一個軟體包是對 php5-fpm 的更新,這似乎破壞了我使用
unix:/var/run/php5-fpm.sock
.免責聲明:我最近才開始使用 Linux;我不完全明白這裡發生了什麼。
我已經查看了許多其他問題,但無法找到我的問題的答案,即如果我嘗試使用
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
設置為預設值。在選擇覆蓋並完成升級php5-fpm後,我打開
/etc/php5/fpm/pool.d/www.conf
並更改了listen tolisten = /var/run/php5-fpm.sock
,就像事先設置好的一樣。然後我按順序重新啟動了 php5-fpm,然後是 nginx。我現在在訪問該域時收到 502,完全不知所措。如果我將
listen
www.conf 和fastcgi_pass
我的主機文件更改為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 服務