我想在所有传入请求到达我的工作节点之前记录下来。
答案1
我不确定我是否理解这个问题...如果您只想记录对 NGINX 的 HTTP 访问,请将以下内容添加到您的虚拟主机文件(在指令内server { }
):
access_log /var/log/nginx/mysite.access.log main;
error_log /var/log/nginx/mysite.error.log;
重新加载 nginx,您将获得典型的 HTTP 访问日志。
如果您想更改日志格式(例如:添加响应时间,如下例所示),您可以在/etc/nginx/nginx.conf
, 块中执行以下操作http { }
:
log_format main '$remote_addr $http_x_forwarded_for - $remote_user '
'[$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" $request_time';
access_log /var/log/nginx/access.log main;
请注意,我将 log_format 配置指令拆分为几行,以便配置文件可读。只需将每一行括在单引号内,就像上面所做的那样。
此致