web-dev-qa-db-ja.com

nginxを再起動するには?

私にとっては、「killall nginx」を実行し、「sbin/nginx」で開始します。誰よりも優れた再起動スクリプトがありますか?

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

98
larry

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

/etc/init.d/nginx restart

nginxを再起動します

意志として

service nginx restart

編集する

ここ は、/ etc/init.d/nginxとして使用できるスクリプトへのリンクです。

154
user9517

http://wiki.nginx.org/CommandLine

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

nginxを起動する場合:

/usr/bin/nginx

nginxを停止する場合:

/usr/bin/nginx -s stop

/usr/binはnginxをインストールする場所によって異なります

17
LiJung

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

systemctl restart nginx
4
cardamom

設定ファイルを編集した後、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によって出力された時刻の間にないという事実は、今回はエラーが発生していないことを示しており、新しい構成は適切です。

1
cnst

NginX Wikiでinitスクリプトを見つけることができます: 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
Lekensteyn

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

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

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

0
Khaled