«前の日記(2006-10-22 (日)) 最新 次の日記(2006-10-26 (木))»  

まちゅダイアリー


2006-10-25 (水)

TextDrive の lighttpd が落ちてた

TextDrive に先日セットアップした lighttpd + trac (FastCGI) が落ちてた。 ~/var/log/lighttpd.error.log を見ても、停止のログは残っていないから、手動で止めてはいないはず。

2006-10-21 21:06:42: (log.c.75) server started
2006-10-21 21:08:49: (log.c.135) server stopped
2006-10-21 21:08:49: (log.c.75) server started
2006-10-21 21:24:26: (mod_fastcgi.c.1739) connect failed: Connection refused on unix:/users/home/kmachu/var/run/trac-fastcgi.sock-0
2006-10-21 21:24:26: (mod_fastcgi.c.2851) backend died, we disable it for a 5 seconds and send the request to another backend instead: reconnects: 0 load: 1
2006-10-21 21:38:56: (connections.c.132) (warning) close: 6 Invalid argument
2006-10-21 22:23:20: (connections.c.132) (warning) close: 10 Invalid argument

アクセスログを見ると、23日の21時 (日本時間) までは動いていたっぽい。

207.7.108.213 textdrive.machu.jp - [23/Oct/2006:12:35:25 +0000] "GET /trac/tdiary_plugin/report/1 HTTP/1.1" 200 5138 "http://textdrive.machu.jp/trac/tdiary_plugin/report" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322) Sleipnir/2.40"
207.7.108.213 textdrive.machu.jp - [23/Oct/2006:12:35:25 +0000] "GET /trac/tdiary_plugin/chrome/common/xml.png HTTP/1.1" 200 452 "http://textdrive.machu.jp/trac/tdiary_plugin/report/1" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322) Sleipnir/2.40"
207.7.108.213 textdrive.machu.jp - [23/Oct/2006:12:35:28 +0000] "GET /trac/tdiary_plugin/report HTTP/1.1" 200 9081 "http://textdrive.machu.jp/trac/tdiary_plugin/" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322) Sleipnir/2.40"

とりあえず lighttpd を起動して、様子見。 監視サービスの Montastic: the free website monitoring service でチェックすることにした。

TextDrive のタイムゾーン設定

TextDrive は海外のサーバなので、当然時刻は日本時間に設定されていない。 少し調べたところ、環境変数 TZ に JST-9 を設定すればいいみたい。

シェル

.zshrc に設定を追加する。

export TZ=JST-9

これで date コマンドの結果が、日本時間 (JST) で表示されるようになる。

$ date
Wed Oct 25 19:37:23 JST 2006

irb でも同じ。

irb(main):001:0> Time.now
=> Wed Oct 25 19:38:00 JST 2006

lighttpd + Trac (FastCGI)

etc/lighttpd/vhosts.d/trac.conf の bin-environment に設定を追加する。

fastcgi.server = ( "/trac" =>
                  ( "trac" =>
                   ( "socket" => base + "/var/run/trac-fastcgi.sock",
                     "bin-path" => base + "/share/trac/cgi-bin/trac.fcgi",
                     "max-procs" => 1,
                     "check-local" => "disable",
                     "bin-environment" =>
                      ( "TRAC_ENV_PARENT_DIR" => base + "/var/trac",
                        "PYTHONPATH"          => base + "/lib/python2.4:" + base + "/lib/python2.4/site-packages",
                        "TZ" => "JST-9",
                      )
                   )
                  )
                 )

これで Trac の Timeline などで表示される時刻が日本時間になった。

この方法じゃだめだった。 たまたま、シェルに TZ を設定していたので上手くいっているように見えただけだった。

代わりに、 lighttpd の起動シェル (etc/rc.d/lighttpd.sh) に設定した。

HOME=/users/home/`whoami`
LIGHTTPD_CONF=$HOME/etc/lighttpd/lighttpd.conf
PIDFILE=$HOME/var/run/lighttpd.pid
export SHELL=/bin/sh
export TZ=JST-9

今度こそ大丈夫だ。 Trac だけじゃなくて、 lighttpd のログも日本時間で表示されるようになった。

Apache

Webmin の「CGIプログラム」を開いて、「CGIスクリプトの環境変数」に変数 TZ と値 JST-9 を設定する。 実際のディレクティブには下記が追加される。

SetEnv TZ "JST-9"
本日のツッコミ(全1件) [ツッコミを入れる]
とーます (2007-01-18 (木) 03:01)

はじめまして。最近Textdriveにお引越しをして、TZずれに悩まされていました。googleでこの記事を見つけて助かりました!ありがとうございます!