【Apache】なんか再起動できなくなった時の対処
はじめに
何回かApacheをrestartしていたら、急にエラーが起きることがありました。
原因がぱっと見のエラー文が同じなのに、原因と対処法が違ったのでまとめておきます。
サーバーはCentOS 7.4、Apacheのバージョンは2.4です。
現象
apachectl restartでサーバーを再起動しようとしたら、
Failed to start The Apache HTTP Server
で再起動できなくなりました。
パターン1
原因
kill: cannot find process ""
kill: cannot find process ""
というメッセージがありました。
原因としては、すでに動いているプロセスがあるので再起動できていない状態になっています。
対策
80ポートで動いているプロセスを探して停止すると上手くいきました。
netstat -lnp | grep :80
kill <プロセス番号>
netstatで通信のポート・プロセス情報を表示して、80ポートで動いているプロセスを探します。
killコマンドで停止してから起動します。
パターン2
再起動を繰り返していた時に陥りました。
原因
セマフォを使い切っていたことが原因でした。
ipcs -s
でセマフォの使用状況を取得できます。
ownerがapacheのものがいっぱいあったら、このパターンだと思います。
対策
for i in `ipcs -s | awk '/apache/ {print $2}'`; do (ipcrm -s $i); done
ipcs -sでセマフォの使用状況を取得後、apacheがownerの行からIDを抜き出します。
それらをipcrm -s に渡して開放してあげます。
最後に
他のパターンに遭遇したらまた追記します。
間違いがあったらご指摘をお願いします。
参考
http://inaz2.hatenablog.com/entry/2013/04/16/222440
http://kanjuku-tomato.blogspot.com/2015/07/apache.html
Author And Source
この問題について(【Apache】なんか再起動できなくなった時の対処), 我々は、より多くの情報をここで見つけました https://qiita.com/karintou/items/8d969d014ef3acc20b45著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .