徐々に 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 経由に戻した。謎