LINEで送る
Pocket

ムムム。
どうもH2Oをrestartするとstopはできるのだがstartはできない。。(CentOS)
ちなみにrpmからインストールすると以下のinitファイルが確認できると思う。

https://github.com/tatsushid/h2o-rpm/blob/master/rpmbuild/SOURCES/h2o.init

・yumrepoでインストールしたい場合は以下

https://github.com/tatsushid/h2o-rpm

というわけで1からinitファイルを作ってみました。


■h2o dead but subsys locked

面白いのが日によってrestartできたりできなかったりがあるということw
dead but subsys lockedはlockファイルが残ったままサービスが停止している状態。
しかし、非公式のinitファイルにはちゃんとlockファイルが消すように作られているのだが、
ナゼ……
ちなみにUbuntuは問題ない。


■centos_h2o.init

#!/bin/bash
#chkconfig: 2345 85 15
#descpriction: h2o Web Server
# source function library
. /etc/rc.d/init.d/functions
RETVAL=0
SERVICE_NAME=`basename $0`
start() {
echo -n $"Starting $SERVICE_NAME: "
/usr/sbin/h2o -m daemon -c /etc/h2o/h2o.conf
RETVAL=$?
if [ $RETVAL == 0 ]; then
success
else
failure
fi
echo
}
stop() {
echo -n $"Stopping $SERVICE_NAME: "
kill -TERM `cat /var/run/h2o/h2o.pid`
RETVAL=$?
if [ $RETVAL == 0 ]; then
success
else
failure
fi
echo
}
reload() {
echo -n $"Graceful $SERVICE_NAME: "
kill -HUP `cat /var/run/h2o/h2o.pid`
RETVAL=$?
if [ $RETVAL == 0 ]; then
success
else
failure
fi
echo
}
configtest() {
/usr/sbin/h2o -t -c /etc/h2o/h2o.conf
}
case "$1" in
start)
start
;;
stop)
stop
;;
status)
status -p /var/run/h2o/h2o.pid
RETVAL=$?
;;
reload|graceful)
reload
;;
configtest)
configtest
RETVAL=$?
;;
restart)
stop
start
;;
*)
echo $"Usage: $0 {start|stop}"
exit 1
esac
exit $RETVAL

view raw
centos_h2o.init
hosted with ❤ by GitHub

これでうまく動いた。

・確認


■まとめ

configtestもreloadもできるし問題なし!
reloadはgraceful。
Amazon LinuxとCentOSベース変わらんから大丈夫なはず。

というかパイセンはちゃんとrestartできるけどなぜww

※追記

もしかしたら設定ファイル間違えてるとこういう挙動になるかも。。

LINEで送る
Pocket

カテゴリー: H2O

adachin

1989年生まれのLancers SRE。 ホスティングから大規模なアドテクなどのインフラエンジニアとして携わり、AnsibleやTerraformでのインフラコード化を推進。副業では数社サーバー保守、未経験によるエンジニアのメンターなども実施している。また、「脆弱性スキャナVuls」のOSS活動もしており、自称エバンジェリスト/技術広報/テクニカルサポート/コントリビュータでもある。現在はサービスの信頼性向上、可用性、レイテンシ、パフォーマンス、モニタリング、緊急対応、インフラコード化、リファクタリング、セキュリティ強化、新技術の検証、Docker開発環境の提供、AWSでのインフラ構築、グループ会社のインフラをECS/Fargateへ移行、CakePHP4での管理画面作成、メンター、分析基盤の運用を担当している。

0件のコメント

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください