徐々に daemontools 依存を外していってるが、とりあえず h2o を systemd に管理にすることにした。どうも daemontools だと annotate-backtrace-symbols のプロセスと親 h2o プロセスが消えずにずっと残って悪さをするので、これも解決できたらなあという気持ち。

以下のように h2o.service を作って配置

[Unit]
Description=H2O HTTP Server
After=network.target

[Service]
Type=simple
WorkingDirectory=/srv/www
ExecStartPre=/usr/local/bin/h2o -c /srv/www/h2o.conf.yaml -t
ExecStart=/usr/local/bin/h2o -c  /srv/www/h2o.conf.yaml -m master
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID

[Install]
WantedBy=multi-user.target  

ハマったところ

なぜか unix ドメインソケット経由でのバックエンドとの繋ぎこみがうまくいかなくなってしまったので、すべて http 経由に戻した。謎

  1. トップ
  2. tech
  3. h2o を systemd 管理下にした
▲ この日のエントリ