LinuCレベル2 Webサーバーとプロキシサーバー 問28
Webサーバーとプロキシサーバー/Apache HTTPサーバーの設定と管理稼働中のApache HTTP Server 2.4で設定ファイルを変更した。処理中のリクエストを途中で切断せずに、新しい設定を反映させたい。apachectl(Debian系ではapache2ctl)に指定する引数として適切なものはどれか。
当サイトのオリジナル問題(LinuCレベル2の出題範囲「Webサーバーとプロキシサーバー」に対応。実際の試験問題ではありません)
- Agraceful
- Brestart
- Cconfigtest
- Dgraceful-stop
正解:A
解説
apachectl graceful を実行すると、親プロセスは設定を読み直し、子プロセスには処理中のリクエストが終わってから終了するよう指示します。そのため処理中の接続を切らずに新しい設定へ切り替えられます。restart は子プロセスを直ちに終了させるため、処理中のリクエストは中断されます。systemdで管理している場合は、systemctl reload httpd(Debian系ではapache2)が同様の穏やかな再読み込みを行います。反映の前には configtest で構文を検査しておくと安全です。
選択肢ごとの解説
- A正しい。graceful は処理中のリクエストを終えるのを待ちながら、新しい設定で子プロセスを入れ替えます。
- B誤り。restart は子プロセスを直ちに終了させて再起動するため、処理中のリクエストが中断されます。
- C誤り。configtest は設定ファイルの構文を検査するだけで、稼働中のサーバーに設定を反映しません。
- D誤り。graceful-stop は処理中のリクエストを終えてからサーバーを停止する操作で、新しい設定での稼働は続きません。