1. 定位Nginx錯誤日志文件
Ubuntu系統中,Nginx錯誤日志的默認路徑為/var/log/nginx/error.log。若你為站點配置了自定義日志路徑(如在/etc/nginx/sites-available/your-site.conf中通過error_log指令修改),需以實際配置為準。
2. 實時查看錯誤日志
使用tail -f命令可實時監控錯誤日志的最新內容,便于快速定位正在發生的錯誤:
sudo tail -f /var/log/nginx/error.log
若需查看最近的若干條日志(如最后50條),可使用:
sudo tail -n 50 /var/log/nginx/error.log
3. 篩選特定錯誤類型
通過grep命令過濾日志中的關鍵字,可快速定位特定問題:
sudo tail -f /var/log/nginx/error.log | grep "404"
sudo tail -f /var/log/nginx/error.log | grep "502"
sudo tail -f /var/log/nginx/error.log | grep "timeout"
4. 調整日志級別(可選)
Nginx的error_log指令支持設置日志級別,控制記錄的錯誤詳細程度(從低到高):
修改步驟:
① 編輯Nginx主配置文件(/etc/nginx/nginx.conf):
sudo nano /etc/nginx/nginx.conf
② 找到error_log指令(通常在http塊內),修改級別(如設置為warn):
error_log /var/log/nginx/error.log warn;
③ 保存并退出,重新加載Nginx配置:
sudo nginx -s reload
④ 驗證日志級別是否生效:
sudo tail -f /var/log/nginx/error.log
5. 結合其他日志交叉分析
若錯誤日志中的信息不足以定位問題,可結合以下日志進一步分析:
/var/log/nginx/access.log):查看請求的IP、方法、路徑、狀態碼等,輔助判斷錯誤來源(如大量404錯誤可能源于前端路由配置錯誤)。/var/log/php-fpm.log或/var/log/php7.x-fpm.log):若錯誤與PHP腳本相關(如502錯誤),需檢查PHP-FPM日志中的執行錯誤。/var/log/syslog或journalctl):若錯誤與系統資源(如內存耗盡、磁盤空間不足)相關,可通過系統日志定位根本原因。6. 常見問題排查示例
sudo nginx -t測試配置文件語法。sudo netstat -tulnp | grep :80查看占用端口的進程,停止沖突進程或修改Nginx監聽端口。www-data)對日志文件或網站目錄的讀寫權限,使用sudo chown -R www-data:www-data /var/log/nginx/修正權限。