1. 程式人生 > >nginx 502 解決記錄(php-fpm 啟動失敗)

nginx 502 解決記錄(php-fpm 啟動失敗)

安裝 macOS 10.13 之後發現 nginx 產生了 502 錯誤,具體解決方式記錄如下:

開啟 nginx error log

注:
此處 nginx 使用的是 brew 安裝的 nginx ,使用其他工具或不同時間安裝的 nginx ,在檢視 nginx error log 時具體操作可能不同。

我的nginx預設並沒有開啟 error log,編輯 nginx.conf,開啟error log

error_log  logs/error.log;

此時,執行一下sudo nginx 會在/usr/local/Cellar/nginx/1.12.0_1/logs 下產生error.log

檔案,

開啟 error log 發現錯誤資訊如下:

[error] 1676#0: *1 kevent() reported that connect() failed (61: Connection refused) while connecting to upstream, client: 127.0.0.1, server: www, request: "GET / HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "www"

檢查php-fpm

執行sudo php-fpm 報錯如下:

[30-Aug-2017 14:33:37
] ERROR: failed to open configuration file '/private/etc/php-fpm.conf': No such file or directory (2) [30-Aug-2017 14:33:37] ERROR: failed to load configuration file '/private/etc/php-fpm.conf' [30-Aug-2017 14:33:37] ERROR: FPM initialization failed

確定原因為php-fpm 配置檔案丟失

/private/etc/ 找到了php-fpm 的預設配置檔案/private/etc/php-fpm.comf.default

複製,新建一份配置檔案:

sudo cp /private/etc/php-fpm.comf.default /private/etc/php-fpm.conf

再次執行sudo php-fpm 報錯如下

/private/etc/php-fpm.conf
[30-Aug-2017 15:19:50] WARNING: Nothing matches the include pattern '/private/etc/php-fpm.d/*.conf' from /private/etc/php-fpm.conf at line 125.
[30-Aug-2017 15:19:50] ERROR: failed to open error_log (/usr/var/log/php-fpm.log): No such file or directory (2)
[30-Aug-2017 15:19:50] ERROR: failed to post process the configuration
[30-Aug-2017 15:19:50] ERROR: FPM initialization failed

進入/private/etc/php-fpm.d ,複製新建一份配置檔案:

sudo cp /private/etc/php-fpm.d/www.conf.default /private/etc/php-fpm.d/www.conf

修改 php-fpm log 預設儲存位置

編輯sudo vim /private/etc/php-fpm.conf

error_log = /usr/local/var/log/php-fpm.log

再次執行sudo php-fpm ,無錯誤提示。

重新啟動 nginx:

sudo nginx -s stop
sudo nginx

發現502錯誤 已解決