在 nginx 中更改访问日志时区

问题描述

我正在使用认日志格式运行 Nginx

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

它以下列格式打印访问日志

1.2.3.4 - - [27/Mar/2021:09:39:43 +0000] "GET /text.txt HTTP/1.1" 200 315 "-" "curl/7.55.1" "-"

但是我希望日志以 UTC +05:30 打印时间,这不是服务器的本地时间。我尝试在 env "TZ=Asia/Kolkata"; 的顶部添加 Nginx.conf 但它不起作用。请建议如何执行此操作。

解决方法

关于在 Nginx 日志中设置时区:工作正常;只需要为 nginx 守护进程设置“TZ”环境变量(例如在启动它的脚本中)。或者,如果您使用的是 Docker,请将其设置在 Dockerfile 中(或者如果您使用的是 docker-compose.yml 文件中的“环境”)。