Nginx 日志格式怎么自定义才能记录请求头?

园园 阅读 12

我用 Nginx 做前端静态资源服务器,想在 access.log 里记录每个请求的 User-Agent 和 Referer,但改了配置后日志没变化,是不是哪里写错了?

我试过在 http 块里加 log_format,然后在 server 里用 access_log 指向它,但重启 Nginx 后日志还是默认格式。下面是我的配置:

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

server {
    listen 80;
    server_name example.com;
    access_log /var/log/nginx/access.log custom;
    ...
}
我来解答 赞 1 收藏
二维码
手机扫码查看
1 条解答
Tr° 怡平
看起来你的配置没啥问题,不过有时候 Nginx 配置文件的语法检查可能会有问题。你先检查一下 Nginx 配置文件的语法对不对,可以用这个命令:

nginx -t


确保没有报错。如果没问题,重启 Nginx:

sudo systemctl restart nginx


或者

sudo service nginx restart


然后清空旧的日志文件或者等新的日志条目生成,看看是不是生效了。拿去改改。
点赞
2026-03-20 18:06