- 访客日志主要记录客户端访问Nginx服务器时一些请求和响应信息。官方文档对于访客日志的说明:access_log
- 设置访客日志需要在nginx配置文件 /usr/local/nginx/conf/nginx.conf设置以下信息,这个可以设置到http节点下,也可以设置到server节点下。默认已经在http节点下设置了日志。
-
# 设置日志具体格式
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
# 设置日志存储位置
access_log logs/access.log main;
- 参数解释
- $remote_addr : 访问网站的客户端IP地址
- $remote_user : 客户端用户名称
- $time_local : 访问时间与时区
- $request : 用户的http请求起始行信息
- $status : http响应状态码
- $body_bytes_sent : 服务器发给客户端的响应body字节数
- $http_referer : 记录请求是哪个链接访问过来的
- $http_user_agent :记录客户端访问信息
- $http_x_forwarded_for : 当前端有代理服务器时,设置web节点记录客户端地址的配置,此参数生效的前提是代理服务器也要进行相关的x_forwarded_for设置。
- 日志记录在 log/access.log中,发送一次请求,就会生成一条访问日志。我分别用postman和谷歌浏览器发送了一次GET请求,可以与上面设置的字段比对下。如果有哪个字段没有拿到数据,就会显示一条短横线。
- postman请求
-
192.168.206.1 - - [27/May/2023:19:59:15 -0700] "GET / HTTP/1.1" 200 634 "-" "PostmanRuntime/7.32.2" "-"
- 谷歌浏览器请求
-
192.168.206.1 - - [27/May/2023:20:06:02 -0700] "GET / HTTP/1.1" 200 634 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36" "-"