Tips

Nginx設定編① Linuxサーバ構築手順まとめ

Nginxの基本操作:終了

さて、起動ができたら次は終了です。
起動中のNginxの操作は、Nginxに対してシグナルを送信することで行います。
nginxコマンドで送信することのできるシグナルは以下です。

シグナル 動作
stop 即時終了
quit 安全終了
reopen ログの再オープン
reload 定義ファイルの再読込

終了が「stop」と「quit」の二つありますね。
Nginx起動中に立ち上がっているプロセルにはMaster Processとそれに紐づく複数のWorker Processがあります。
Worker Processがクライアントからのリクエストを処理しています。
「quit」はこのWorker Processが完了したのを確認してからプロセスを終了します。
処理中のプロセスがあるのにそれを無視して即時シャットダウンするのが「stop」です。
ですので、通常は「quit」シグナルで終了してあげましょう。

# nginx -s quit

尚、Linuxのkillコマンドを使って、直接プロセスにシグナルを行うことも可能です。

# kill -s QUIT XXXXX

XXXXXにはプロセスID(PID)が入ります。
プロセスIDは「ps」コマンドで確認できます。

# ps aux | grep nginx
root     21521  0.0  0.1   6236   656 ?        Ss   15:16   0:00 nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf
nginx    21522  0.0  0.2   6392  1148 ?        S    15:16   0:00 nginx: worker process
root     21587  0.0  0.1   5116   784 pts/2    S+   16:19   0:00 grep nginx

この場合、Master Processの「21521」をXXXXXにセットしましょう。
または、「/var/run/nginx.pid」ファイルの中にもMaster ProcessのプロセスIDは記載されています。

# cat /var/run/nginx.pid
21521

この方法で確認してもよいでしょう。

Nginxの基本操作:その他

残りのシグナル、reopen、reloadについても確認しておきます。
reopen」はログの再オープンです。
ログを再オープンする際に、所有者をWorkerProcessの実行ユーザに割り当てます。

「reload」は定義ファイルの再読込です。
定義ファイルを変更した際に、Nginxを再起動することなく変更を適用することができます。
逆に言うと、定義ファイルを変更した際には、Nginxの再起動もしくは定義ファイルの再読込が必要になりますので、
忘れないように注意しましょう。

今回のまとめ

今回はNginxの基本操作について説明しました。起動、終了だけでもいくつもパターンがあってややこしいですが、Linuxの知識も併せて深まる大事なポイントですので、様々な方法を使えるようにしておきましょう。次回はNginxの定義ファイルを見ていきます。

Linux認定資格 LPICを取るなら・・

Linux資格 「LPIC Lv1」徹底解説 連載目次

Recent News

Recent Tips

Tag Search