Nginx显示错误的时间/时区。

14
如何修复 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

在此输入图片描述

6个回答

15

默认情况下,nginx在UTC时间中输出目录索引。如果您想要显示本地时区的时间,您应该将autoindex_localtime指令设置为on。

autoindex_localtime on

4
请注意,并不一定需要放在 location 级别上,可以直接放在顶部的 server 块中。 - The Godfather

7

首先,您需要设置系统时区。您可以使用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;
}

2

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

Original Answer翻译成:"最初的回答"

sudo dpkg-reconfigure tzdata

最初的回答是选择您喜欢的时区。

0

也有可能是由于 php.ini 的问题。如果你使用的是 PHP,请在 [Date] 中更改时区。


0

enter image description here

查找 /etc/init.d/ 文件夹并打开 "nginx" 文件

$ sudo nano /etc/init.d/nginx 并为时区添加 TZ 值

例如:export TZ = "Asia/Singapore"


-1

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接