私にとっては、「killall nginx」を実行し、「sbin/nginx」で開始します。誰よりも優れた再起動スクリプトがありますか?
ところで、私はソースからnginxをインストールします、「service nginx」コマンドまたは/etc/init.d/nginxが見つかりません
Nginxパッケージは、通常のstart | stop | restart | reload ...機能を提供する/etc/init.d/nginxスクリプトを提供します。
/etc/init.d/nginx restart
nginxを再起動します
意志として
service nginx restart
編集する
ここ は、/ etc/init.d/nginxとして使用できるスクリプトへのリンクです。
http://wiki.nginx.org/CommandLine
リンク内には、nginxサーバーを起動および停止するためのコマンドがあります。
nginxを起動する場合:
/usr/bin/nginx
nginxを停止する場合:
/usr/bin/nginx -s stop
/usr/bin
はnginxをインストールする場所によって異なります
何らかの理由で、組み込みシステムで私が取り組んでいるのは:
systemctl restart nginx
設定ファイルを編集した後、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
によって出力された時刻の間にないという事実は、今回はエラーが発生していないことを示しており、新しい構成は適切です。
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
に置き換えます。
通常、ソースからインストールされたパッケージは、/etc/init.d/
に起動スクリプトをインストールしません。 2つのオプションがあります。
1-ソースコードディレクトリまたはWebサイトでスクリプトを探し、必要に応じてカスタマイズできます。
2-システムから別のパッケージの起動スクリプトをコピーしてカスタマイズできます。