CentOS 下让Nginx 目录列表使用本地时区 

之前我记得nginx 默认目录列表下文件的时间戳使用的是UTC时区。我一直想把它设置成使用指定时区,如CST.

为此,我曾经还在nginx 的邮件列表里面和别人讨论过这个问题,
参见:http://forum.nginx.org/read.php?2,214494,214494#msg-214494

不过当时是无果。之后,我也就放弃了。

不过,直到刚才,我无意中发现了“autoindex_localtime” 这个参数,在nginx 配置文档里面。

我才发现我绕了一个大弯~

于是乎,果断加入该syntax,结果如下:

server {
listen 82;
server_name ftp.xiazhengxin.name;
charset utf-8;
autoindex on;
autoindex_localtime on; # 使用本地时区
autoindex_exact_size off; # 使用可读大小
root /home/ftp/;
allow 127.0.0.1;
deny all;
}


保存下,重载配置文件.
nginx -s reload.

打开 http://ftp.xiazhengxin.name/xzx/sql/ 页面,果然所有备份的数据库文件的时间戳都是凌晨0点00分了。

这就对了~哈哈!困扰了我许久的坑爹的问题终于被解决了。

其实这个问题早就应该被干掉的。因为根据nginx svn 库的提交显示,"autoindex_localtime" 这个参数并不是最近才有的,而是早在2005年就被加入了nginx~ 囧

参见:http://trac.nginx.org/nginx/changeset/520/nginx

注:本文在撰写和测试时,参考了以下文档:
http://nginx.org/en/docs/http/ngx_http_ ... _localtime

评论