Nginx日志中的狀態碼是用來表示服務器對客戶端請求的響應狀態的。狀態碼由三位數字組成,可以分為五類:
- 1xx(信息性狀態碼):表示請求已接收,繼續處理。
- 2xx(成功狀態碼):表示請求已成功處理。
- 3xx(重定向狀態碼):表示需要進一步操作以完成請求。
- 4xx(客戶端錯誤狀態碼):表示服務器無法處理請求,原因是客戶端錯誤。
- 5xx(服務器錯誤狀態碼):表示服務器在處理請求時發生錯誤。
以下是一些常見的Nginx狀態碼及其含義:
- 200 OK:請求成功,服務器已成功處理請求。
- 301 Moved Permanently:請求的資源已被永久移動到新位置,新的URL在響應頭中的Location字段中給出。
- 302 Found(臨時重定向):請求的資源臨時從不同的URI響應請求,新的URL在響應頭中的Location字段中給出。
- 400 Bad Request:客戶端請求的語法錯誤,服務器無法理解。
- 401 Unauthorized:請求要求身份驗證,客戶端未提供有效的身份驗證信息。
- 403 Forbidden:客戶端沒有權限訪問請求的資源。
- 404 Not Found:服務器找不到請求的資源。
- 500 Internal Server Error:服務器內部錯誤,無法完成請求。
- 502 Bad Gateway:服務器作為網關或代理時,從上游服務器接收到無效響應。
- 503 Service Unavailable:服務器暫時無法處理請求(可能是由于過載或維護)。
- 504 Gateway Timeout:服務器作為網關或代理時,未及時從上游服務器接收到響應。
要解讀Nginx日志中的狀態碼,你可以查看訪問日志(通常位于/var/log/nginx/access.log)或錯誤日志(通常位于/var/log/nginx/error.log)。在訪問日志中,狀態碼位于響應頭的第9列。例如:
127.0.0.1 - - [21/Jul/2021:12:34:56 +0000] "GET /index.html HTTP/1.1" 200 612 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3"
在這個例子中,狀態碼是200,表示請求成功。