Ubuntu 12.10 更新到 14.04 後出現 Nginx 502 錯誤?

Ubuntu 12.10 更新到 14.04 後出現 Nginx 502 錯誤?

我有一個特別過時的 ubuntu 發行版 (12.10),並開始按順序更新到 16.04。昨天,我使用 Ubuntu 舊版檔案和 Digital Ocean 的本教學成功從 12.10->13.10->14.04 更新。我不必更改內核,因為我們的 Droplet 使用的是 grubloader v2.0。

更新成功令我興奮不已,我使用 do-release-upgrade 從 14.04 升級到 16.04,雖然發行版已成功更新,但更新後我立即遇到 502 錯誤 (nginx /1.4.6)。我對這一切都很陌生,所以我以與 13.10->14.04 升級完全相同的方式從 14.04 到 16.04 進行了版本升級。

有人從 14.04->16.04 更新時遇到這個問題嗎?另外,我將 Droplet 恢復到 12.10 並更新回 14.04,儘管 14.04 更新之前工作正常,但我現在遇到了相同的 502 錯誤。

這是我今天的錯誤日誌(14.04 版本 502 錯誤):

2018/03/22 10:01:08 [crit] 774#0: *58351 connect() to unix:/var/run/php5-fpm.sock failed (13: Permission denied) while connecting to upstream, client: 46.229.168.67, server: localhost, request: "GET /tag/love-me-some-cats/ HTTP/1.1", upstream: "fastcgi://unix:/var/run/php5-fpm.sock:", host: "wesleying.org"

有沒有人遇到這樣的問題和/或知道新手的快速解決方法?

答案1

Nginx 透過 unix 套接字連接 PHP FPM。根據所使用的版本(不同作業系統版本可能有所不同),套接字的名稱或位置可能會有所不同。有時你沒有套接字,但你有一個連接埠。

查看您的 PHP FPM 如何提供其服務

netstat -nlp | grep php

結果可以是連接埠或 unix 套接字,或者您可以有多個結果(例如,不同 PHP 版本的結果不同)。

結果範例

unix  2      [ ACC ]     STREAM     HÖRT         34042019 19073/php-fpm.conf) /run/php/php5.6-fpm.sock

相應地更新你的 Nginx

fastcgi_pass unix:/run/php/php5.6-fpm.sock;

並重新載入您的網頁伺服器

service nginx reload

相關內容