nginxを再起動する方法は?


95

私にとっては、「killall nginx」を実行し、「sbin / nginx」で起動します。より良い再起動スクリプトはありますか?

ところで:私はソースからnginxをインストールします、 'service nginx'コマンドまたは/etc/init.d/nginxが見つかりません


1
ソースからインストールするのはなぜですか?Nginxパッケージは、ほとんどの優れたServer linuxディストリビューションで利用できます。または、独自のパッケージをロールすることもできますが、パッケージを使用しないことは保守性のバグです。
トム・オコナー

mod_railsのため
ラリー

回答:


149

nginxパッケージは、通常のstart | stop | restart | reload ...機能を提供する/etc/init.d/nginxスクリプトを提供します。

/etc/init.d/nginx restart

nginxを再起動します

意志として

service nginx restart

編集

/etc/init.d/nginxとして使用できるスクリプトへのリンクを次に示します。


2
リポジトリに依存します。Nginxソースにはinitスクリプトが用意されていないため、ソースから更新してコンパイルする場合は、wikiから取得する必要があります。
マーティンフィヨルドヴァルド

1
私が質問に答える前に、より多くのコーヒーを持っている必要があります...
user9517

サービスnginxの再起動は何を指し、init.d / nginxに変更が加えられたときに何かをリロードするのが適切ですか?2つのコマンド(/etc/init.d/nginxとservice nginx)が同期していないようです。
ダニー

@Danny:dunno 2年以上前にこれを書いた。
user9517

15

http://wiki.nginx.org/CommandLine

リンク内には、nginxサーバーを起動および停止するためのコマンドがあります

nginxを起動するには:

/usr/bin/nginx

nginxを停止する場合:

/usr/bin/nginx -s stop

/usr/bin あなたがnginxをインストールする場所に依存します


4

何らかの理由で、私が取り組んでいる組み込みシステムでは:

systemctl restart nginx

1
この質問とほとんどの回答は8年前のもので、時代遅れです。それが「何らかの理由」です。これは、現在のLinuxオペレーティングシステムで行う正しい方法です。
マイケルハンプトン

さて、組み込みシステムだけではないかもしれません
カルダモン

1

構成ファイルを編集した後、OpenBSDで次のように再起動します。

kill -HUP `cat /var/run/nginx.pid` && date && sleep 1 && \
    tail -2 /var/www/logs/error.log ; date

HUP信号が再読み込み設定ファイル、作るtail何らかのエラーが発生しているかどうかを示し、date(エラーからの時間がいる場合にのみ発生したコンテキストに入れそれらのエラーdateログからの時間と一致した)、そしてsleep 1そこにあることを保証しますnginxがログに書き込む時間がある前に、ログから読み取る間の競合状態はありません。

これはどのように見えるかです:

Cns# kill -HUP `cat /var/run/nginx.pid` && date && sleep 1 && tail -2 /var/www/logs/error.log ; date
Tue Feb 12 10:58:52 PST 2013
2013/02/12 10:03:35 [emerg] 8120#0: directive "set" is not terminated by ";" in /etc/nginx/conf.d/etc.ngx.grok/bxr.su.conf:226
2013/02/12 10:04:19 [emerg] 8120#0: invalid return code "$uri_def" in /etc/nginx/conf.d/etc.ngx.grok/bxr.su.conf:231
Tue Feb 12 10:58:53 PST 2013
Cns# 

ログからの時間が印刷された時間の間にないという事実は、今回はdateエラーが発生していないことを示しており、新しい構成が適切です。


0

NginX Wikiで初期化スクリプトを見つけることができます:http ://wiki.nginx.org/Configuration#Init_Scripts

再起動機能は次のコマンドを実行します。

BASEDIR=
$BASEDIR/sbin/nginx -s stop
$BASEDIR/sbin/nginx $BASEDIR/conf/nginx.conf

あなたはnginxのは/ opt / nginxのにインストールしている場合、交換してくださいBASEDIR=によりますBASEDIR=/opt/nginx


0

通常、ソースからインストールされたパッケージは、起動スクリプトをインストールしません/etc/init.d/。2つのオプションがあります。

1-ソースコードディレクトリまたはWebサイトでスクリプトを検索し、必要に応じてカスタマイズできます。

2-システムから別のパッケージの起動スクリプトをコピーしてカスタマイズできます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.