Nginx

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

  • June 27, 2014

今天早些時候,我在我的一台伺服器上更新了軟體包。其中一個軟體包是對 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 to listen = /var/run/php5-fpm.sock,就像事先設置好的一樣。然後我按順序重新啟動了 php5-fpm,然後是 nginx。

我現在在訪問該域時收到 502,完全不知所措。如果我將listenwww.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 服務

引用自:https://serverfault.com/questions/608529