温馨提示×

Nginx日志中的状态码含义是什么

小樊
53
2025-08-21 16:30:10
栏目: 编程语言

Nginx日志中的状态码是HTTP响应状态码,用于表示服务器对客户端请求的处理结果。以下是一些常见的状态码及其含义:

1xx(信息性状态码)

  • 100 Continue:服务器已收到请求的一部分,客户端应继续发送其余部分。
  • 101 Switching Protocols:服务器已理解Upgrade请求头,并准备切换协议。

2xx(成功状态码)

  • 200 OK:请求成功,服务器已返回所请求的资源。
  • 201 Created:请求成功并创建了新的资源。
  • 202 Accepted:请求已被接受,但尚未处理完成。
  • 204 No Content:请求成功,但没有内容返回。

3xx(重定向状态码)

  • 301 Moved Permanently:请求的资源已永久移动到新位置。
  • 302 Found:请求的资源临时移动到新位置。
  • 304 Not Modified:自上次请求以来,资源未发生变化,客户端可以使用缓存的版本。

4xx(客户端错误状态码)

  • 400 Bad Request:服务器无法理解请求的语法。
  • 401 Unauthorized:请求要求身份验证。
  • 403 Forbidden:服务器理解请求,但拒绝执行。
  • 404 Not Found:服务器找不到请求的资源。
  • 405 Method Not Allowed:请求方法不被允许。
  • 408 Request Timeout:服务器等待客户端发送的请求时间过长。
  • 429 Too Many Requests:客户端在给定的时间内发送了太多请求。

5xx(服务器错误状态码)

  • 500 Internal Server Error:服务器遇到意外情况,无法完成请求。
  • 501 Not Implemented:服务器不支持请求的功能。
  • 502 Bad Gateway:服务器作为网关或代理,从上游服务器接收到无效响应。
  • 503 Service Unavailable:服务器暂时无法处理请求(可能是由于过载或维护)。
  • 504 Gateway Timeout:服务器作为网关或代理,未及时从上游服务器接收到响应。

日志格式示例

Nginx的访问日志通常包含以下字段:

log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; 

其中,$status 就是状态码。

通过分析这些状态码,可以了解Nginx服务器的性能和健康状况,以及客户端请求的处理情况。

0