Apacheを使用して、サーバー上のWebサイトの「書き換えルール」を少し変更したい場合は、/var/www/website5/.htaccess
の数行を編集して保存するだけで、すぐにアクティブになります。
利点:service Apache2 restart
を使用する必要がないため、同じサーバー上にある他のWebサイトで進行中の接続が中断されることはありません(想像してみます)誰かが現在大きな1 GBをダウンロードしているので、これを中断したくない!).
質問:現在nginxをテストしていますが、.htaccessに相当する「自然な」ものはないことを読みました(もちろん、これを可能にするアドオンはありますが、ここでは本当に焦点を合わせていますnginxの元の哲学を理解している、それはこの機能を持っていません)。
サーバー全体(多くのWebサイトをホストしている)の再起動を必要とせずに、Webサイトのnginx
構成(URL書き換えルールなど)をわずかに変更する方法?
PS:
nginxを再起動する前にリクエストの終了を待機する「グレースフルリロード」機能が存在する場合、これは、クライアントが2 GBのファイルのダウンロードを開始した直後に2時間続く場合、nginxが2時間待機することを意味します(リクエスト新しい構成を再ロードする前に完了しますか?
その後、構成の変更が行われたことをテストするために数分/時間待機する必要がある場合、構成を変更することは非常に困難です。
後者の問題が存在しない場合、どのように機能しますか? (この特定のポイントに関するドキュメントソースはありますか?)
Nginxサービスの再起動は、代わりに 'reload'を使用することで回避できます。コマンドservice nginx reload
を使用できます。これにより、ダウンタイムなしでnginxがリロードされます。まずnginx構文を確認してください:service nginx configtest
。
これは1つのコマンドで実行できます。
service nginx configtest && service nginx reload
最初のコマンドの&&
wil continueのみが0の終了コードを示し、構成の構文に問題がなかったことを示します。
リロードの実行中、NGINXプロセスは正常にシャットダウンします。これに関する詳細は Nginxのドキュメント にあります。
例:
4つのNginxワーカープロセスがあり、1つに長時間のダウンロードがある場合、リロード後に5つのワーカープロセスがあります。4つのフレッシュワーカーと1つがシャットダウンが完了するまで、ダウンロードが完了するまでダウンロードを処理します。