发布于2026-07-17 阅读(0)
扫一扫,手机访问
在Nginx的实际运维中,日志记录是排查问题、监控性能的关键手段。别小看那几行配置,配好了能让你少掉不少头发。下面这份指南,直接告诉你如何通过access_log和error_log两个指令,把关键操作牢牢抓在手里。

要记录访问日志,你需要在Nginx配置文件中的http、server或location块里设置access_log指令。举个例子:
http {
...
log_format custom '$remote_addr - $remote_user [$time_local] '
'"$request" $status $body_bytes_sent '
'"$http_referer" "$http_user_agent" "$http_x_forwarded_for" '
'"$request_time" "$upstream_response_time" "$upstream_addr"';
access_log /var/log/nginx/access.log custom;
...
}
这里定义了一个名为custom的日志格式,把请求时间、响应时间、上游地址等关键信息都塞了进去。然后指定日志文件路径,就搞定了。注意,格式里的变量可以根据实际需求裁剪,比如你更关心上游响应时间,那就保留它,去掉不用的。
错误日志的配置更直接,在http、server或location块里设置error_log指令即可。比如:
http {
...
error_log /var/log/nginx/error.log debug;
...
}
日志级别从低到高有debug、info、warn、error、crit等。生产环境通常用warn或error,避免日志量过大;调试时才开debug。这个度要把握好,否则日志文件分分钟爆盘。
有时候我们只想记录特定类型的请求,比如所有的404错误,而不是把所有请求都记下来。这时候可以用if指令配合access_log来实现条件记录:
server {
...
location / {
if ($status = 404) {
access_log /var/log/nginx/404_errors.log combined;
}
}
...
}
这段配置检查每个请求的状态码,一旦命中404,就把这条请求单独写入一个日志文件。当然,if指令在Nginx里有一些性能注意事项,但用在简单条件判断上完全够用。你也可以用类似的方法捕获500、403等状态码,或者根据请求头、URL参数来做更精细的过滤。
总之,核心思路就是:用好access_log和error_log这两个指令,再结合if或map等条件控制,就能实现日志的精准记录。配置改完后别忘了重启或重载Nginx服务,让新配置生效。
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
8