Nginx 显示错误 time/timezone

Nginx shows wrong time/timezone

如何修正Nginx时区?我已将 nginx 配置为提供目录服务,但创建日期时间比我的实际时间晚一小时。

我已经添加到 /etc/init.d/nginx

export TZ='Europe/Bratislava'

然后

sudo service nginx reload
sudo service nginx restart

但是没有用,应该是14:19而不是13:19。

编辑

试图更改 Ubuntu 默认时区,但日期时间未更改。

sudo dpkg-reconfigure tzdata

默认情况下,nginx 以 UTC 时间输出目录索引。如果您希望它显示您当地时区的时间,您应该将 autoindex_localtime 指令设置为 on。

autoindex_localtime on

要更改时区,您可以 运行 在您的实例中执行以下命令:

sudo dpkg-reconfigure tzdata

然后选择您喜欢的时区。

如果需要,请检查您系统的时区,然后设置您自己的时区,然后重新启动。重启后你会看到正确的时间

问题也可能来自 php.ini。如果您使用 php,请更改 [Date]

中的时区

首先,您需要设置系统时区。您可以使用 timedatectl list-timezones 来获取名称。

sudo timedatectl set-timezone Europe/Moscow

其次,在您站点的 nginx 配置文件中设置 autoindex_localtime 指令 autoindex_localtime on;,例如 /etc/nginx/sites-avaliable/default。将指令放在 autoindex on;

之前
server {
        listen 80;
        listen [::]:80;

        root /var/www/dir;

        index index.html index.htm index.nginx-debian.html;

        server_name _;

        location / {
                try_files $uri $uri/ =404;
        }

        autoindex_localtime on;
        autoindex on;
}