正确配置 Linode VPS 的系统日期

我使用的服务器是 Linode VPS。虽然在安装 LAMP 服务器的时候已经将时区配置为 HongKong,但是每次重启系统或者安装了重要更新之后,系统的时区就又回复到默认的 UTC 或者 EST 时间。现在终于可以保证每次重启服务器之后时间不再被重置了。

安装 LAMP 服务器程序(CentOS + Apache + MySQL + PHP)之后,为了让系统中的 Apache 日志记录还有文件访问记录等使用的时间与我本地的时间一致,我将系统时区设置为 HongKong(UTC +8)。

  1. 查看系统中的时区配置文件:
    # ls /usr/share/zoneinfo

    上海时区文件应该在 Asia 目录下:

    # ls /usr/share/zoneinfo/Asia
  2. 我还是用香港时区吧。将 HongKong 时区软连接到 localtime:
    # ln –sf /usr/share/zoneinfo/Hongkong /etc/localtime
  3. 看看时间:
    # date
    Fri Jul  5 11:46:18 HKT 2013

这样基本上也可以了,现在系统使用的时间就是 HongKong 了,跟北京时间一样。

但是问题在于,重启 VPS 系统或者进行了重大升级之后,系统时间就又重置到默认状态了。这个很不方便,还需要进行刚才的操作。后来找了找,发现不仅需要设置系统时区,还需要更新系统的时钟配置。接着进行下面的操作。

  1. 将系统时钟设置为使用香港时区:
    # echo "ZONE=\"Asia/Hong_Kong\"" > "/etc/sysconfig/clock"

    不过也许最好还是先看看 /etc/sysconfig/clock 文件里是否已经有了类似的语句,而只需要修改后面的时区配置,

    cat /etc/sysconfig/clock

    另外,有的 Linux 发行版里面配置不同,比如 OpenSUSE 里面的就是 TIMEZONE

    TIMEZONE="Europe/London"

    细心的你应该发现,这里的时区是 Asia/Hong_Kong,与刚才配置 localtime 时候使用的不一样。这里使用的时区(Time Zone)与 PHP 的使用的 Time Zone 表示方法是一样的。其中亚洲的所有时区为:

    亚洲的所有时区
    Asia/Aden Asia/Almaty Asia/Amman Asia/Anadyr Asia/Aqtau
    Asia/Aqtobe Asia/Ashgabat Asia/Ashkhabad Asia/Baghdad Asia/Bahrain
    Asia/Baku Asia/Bangkok Asia/Beirut Asia/Bishkek Asia/Brunei
    Asia/Calcutta Asia/Choibalsan Asia/Chongqing Asia/Chungking Asia/Colombo
    Asia/Dacca Asia/Damascus Asia/Dhaka Asia/Dili Asia/Dubai
    Asia/Dushanbe Asia/Gaza Asia/Harbin Asia/Hebron Asia/Ho_Chi_Minh
    Asia/Hong_Kong Asia/Hovd Asia/Irkutsk Asia/Istanbul Asia/Jakarta
    Asia/Jayapura Asia/Jerusalem Asia/Kabul Asia/Kamchatka Asia/Karachi
    Asia/Kashgar Asia/Kathmandu Asia/Katmandu Asia/Khandyga Asia/Kolkata
    Asia/Krasnoyarsk Asia/Kuala_Lumpur Asia/Kuching Asia/Kuwait Asia/Macao
    Asia/Macau Asia/Magadan Asia/Makassar Asia/Manila Asia/Muscat
    Asia/Nicosia Asia/Novokuznetsk Asia/Novosibirsk Asia/Omsk Asia/Oral
    Asia/Phnom_Penh Asia/Pontianak Asia/Pyongyang Asia/Qatar Asia/Qyzylorda
    Asia/Rangoon Asia/Riyadh Asia/Saigon Asia/Sakhalin Asia/Samarkand
    Asia/Seoul Asia/Shanghai Asia/Singapore Asia/Taipei Asia/Tashkent
    Asia/Tbilisi Asia/Tehran Asia/Tel_Aviv Asia/Thimbu Asia/Thimphu
    Asia/Tokyo Asia/Ujung_Pandang Asia/Ulaanbaatar Asia/Ulan_Bator Asia/Urumqi
    Asia/Ust-Nera Asia/Vientiane Asia/Vladivostok Asia/Yakutsk Asia/Yekaterinburg
    Asia/Yerevan
  2. 看看配置的怎么样:
    # cat /etc/sysconfig/clock
    ZONE="Asia/Hong_Kong"

以后再重启服务器就不会发生时区又被重置的问题了。其它 Linux 发行版我没有试过,配置应该差不多。至少,Fedora / RHEL / CentOS 等发行版可以直接使用上面的设置。©

本文发表于水景一页。永久链接:<http://cnzhx.net/blog/linode-vps-set-timezone/>。转载请保留此信息及相应链接。

7 条关于 “正确配置 Linode VPS 的系统日期” 的评论

  1. 引用通告: Linode VPS 上 CentOS 6 安装 LAMP + phpMyAdmin 记录 | 水景一页

  2. 我用的也是Linode,经常是把时区设置为上海之后莫名其妙的又变成了UTC,原来是没有更新时钟文件啊,顺便说下,我也是郑州人哈哈

雁过留声,人过留名

您的电子邮箱地址不会被公开。 必填项已用 * 标注

特别提示:与当前文章主题无关的讨论相关但需要较多讨论求助信息请发布到水景一页讨论区的相应版块,谢谢您的理解与合作!请参考本站互助指南
您可以在评论中使用如下的 HTML 标记来辅助表达: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>