通常の
httpd stop コマンドは、接続中のプロセスを強制終了します。この記事では、接続中のプロセスが終了するのを待ってからApacheを停止する
graceful-stop の使い方を解説します。
【この記事でわかること】
・apachectl graceful-stop で接続中のクライアント通信を待ってから停止できる
・通常の httpd stop は接続中プロセスを強制終了するため本番環境では注意が必要
・graceful-stop は apachectl コマンドで実行する(initスクリプト経由では不可)
・systemd環境(CentOS 7以降)では systemctl stop httpd で同様の動作をする
でも安心してください。プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
graceful-stopとは
graceful-stop は、既存のクライアントとの通信が完了するまで待ってからApacheを停止する機能です。新しいリクエストは受け付けなくなりますが、処理中のリクエストは最後まで完了してから停止します。
これに対して通常の
stop は、接続中のプロセスを即座に強制終了するため、クライアントとの通信が強制切断されます。graceful-stopの実行方法
1. apachectlを使って実行する
# graceful-stopでApacheを停止する # apachectl graceful-stop
graceful-stop は /etc/init.d/httpd スクリプトでは実行できません。必ず
apachectl コマンドを直接実行してください。2. systemd環境(CentOS 7以降)での停止
# systemctlでApacheを停止する(gracefulに相当) # systemctl stop httpd
systemctl stop httpd が接続を待機してから停止します。本記事のまとめ
| コマンド | 動作 |
|---|---|
apachectl stop または /etc/init.d/httpd stop |
接続中プロセスを強制終了 |
apachectl graceful-stop |
接続中プロセスの完了を待ってから停止 |
systemctl stop httpd |
systemd環境での停止(graceful相当) |
Apacheの運用を安全に行うための知識を身につけたい方へ
本番環境でのApache運用では、クライアントへの影響を最小限に抑えた停止方法を知っておくことが重要です。
ネットの切れ端の情報をコピペするだけでなく、現場で通用する安全なLinuxサーバー構築の「型」を体系的に身につけたい方へ、『Linuxサーバー構築入門マニュアル(図解60P)』を完全無料でプレゼントしています。
「独学の時間がもったいない」「プロから直接、現場の技術を最短で学びたい」という本気の方には、2日で実務レベルのスキルが身につく【初心者向けハンズオンセミナー】も開催しています。
3,100名以上が実践した「型」を無料で公開中
プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
その「型」を図解60Pにまとめた入門マニュアルを、完全無料でプレゼントしています。
登録10秒/合わなければ解除3秒 / 詳細はこちら

無料メルマガで学習を続ける
Linuxの実践スキルをメールで毎週お届け。
登録は1分、解除もいつでも可。
登録無料・いつでも解除できます