安裝 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
1
再次執行 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 stopsudo nginx
發現 502 錯誤 已解決