next up previous contents
Next: 3.4 演習 Up: 3. Nginxの基本 Previous: 3.2.1 設定のチェック

3.3 Nginx の起動停止

nginx を起動するには以下のようにします。

    # nginx -c /usr/local/etc/nginx/nginx.conf

なお、nginx ではマスタープロセスと、指定した数だけのワーカープロセスが 走り、ワーカープロセスがユーザのリクエストを処理します。ワーカープロセス はFreeBSDの標準設定では、wwwユーザの権限で走ります。

また、FreeBSDでは、起動・停止・再起動などのためのスクリプトが用意 されていますが、/etc/rc.conf に以下の設定をしないと、 スクリプトが動きませんので、注意して下さい。

# /etc/rc.confに追加
nginx_enable="YES"

この設定は、シェルで解釈されるので、変数や=の前後にスペースなどが あってはなりません。

この設定を行い、設定ファイルを間違いなく設定していれば以下のように して動かすことが出来ます。

    # /usr/local/etc/rc.d/nginx start
    Performing sanity check on nginx configuration:
    nginx: the configuration file /usr/local/etc/nginx/nginx.conf syntax is ok
    nginx: configuration file /usr/local/etc/nginx/nginx.conf test is successful
    Starting nginx.

もし、設定ファイルに間違いなどがある場合には、以下のようにエラーが 出ます。

    # /usr/local/etc/rc.d/nginx start
    Performing sanity check on nginx configuration:
    nginx: the configuration file /usr/local/etc/nginx/nginx.conf syntax is ok
    nginx: [emerg] no "events" section in configuration
    nginx: configuration file /usr/local/etc/nginx/nginx.conf test failed
    Starting nginx.
    nginx: [emerg] no "events" section in configuration
    /usr/local/etc/rc.d/nginx: WARNING: failed to start nginx

上の例では、events ブロックがないために、動いていません。

停止する場合には、

    # /usr/local/etc/rc.d/nginx stop

設定ファイルを再読み込みさせる場合には、

    # /usr/local/etc/rc.d/nginx reload

再起動させる場合には、

    # /usr/local/etc/rc.d/nginx restart

とします。これらのオプションは覚えていなくても、以下のように オプションなしで動かすと、全て表示されます。これは、FreeBSDの スタートアップスクリプト全体に共通する仕様です。

    #  /usr/local/etc/rc.d/nginx
    Usage: /usr/local/etc/rc.d/nginx [fast|force|one|quiet]
                       (start|stop|restart|rcvar|reload|configtest
                       |upgrade|gracefulstop|status|poll)

なお、nginx を直接動かしている場合には、nginx のプロセス番号に 以下のシグナルを送ることで同じことが出来ます。

TERM, INT 15,2 強制終了
QUIT 3 終了
HUP 1 設定の再読み込み
USR1 30 ログファイルの再読み込み
USR2 31 実行ファイルのアップグレード
WINCH 28 ワーカープロセスの終了

なお、nginx のプロセス番号は、FreeBSD では /var/run/nginx/pid に 格納されています。



Noriyo Kanayama