Nginx シグナル制御

Nginx シグナル制御

Nginx の紹介

Nginx は、高性能な HTTP およびリバース プロキシ サーバーであり、IMAP/POP3/SMTP プロキシ サーバーでもあります。 Nginx はロシアのサイト Rambler.ru によって開発され、公式テストでは Nginx が 50,000 の同時接続をサポートできることが示されています。

Nginx 公式サイト: http://nginx.org

この記事では主に、Nginx の実行後に停止または再起動できるように制御する方法について説明します。

// nginx を起動および停止する
現在のディレクトリ: /usr/local/bin/nginx
起動する:
./sbin/nginx
停止:
kill -INT マスターホストのプロセス番号

Nginx セマフォ

Nginx は主にセマフォによって制御されます。メインプロセス番号は、デフォルトで nginx.pid ファイルに書き込まれます。ファイル名は、設定ファイル nginx.conf を変更することで変更できます。

Nginx マスター プロセスでサポートされるシグナルは次のとおりです。

セマフォの使い方

具体的な説明

TERM、INT: kill -TERM (INT) nginx メインプロセス番号または kill -TERM (INT)

`cat /usr/local/nginx/logs/nginx.pid ` を実行すると、nginx プロセスはすぐに閉じられ、nginx を使用しているユーザーのリクエストを完全に処理できなくなります。これは、/usr/local/nginx -s stop と同じです。

QUIT:kill -QUIT nginx メインプロセス番号は、nginx プロセスを正常に終了し、nginx を使用しているすべてのユーザーリクエストを処理した後、nginx プロセスを閉じます。これは、/usr/local/nginx -s quit と同等です。

HUP:kill -HUP nginx メイン プロセス番号 nginx プロセスは閉じられませんが、設定ファイルは再読み込みされます。 /usr/local/nginx -s reload と同等

USR1:kill -USR1 nginxメインプロセス番号は、nginxプロセスをシャットダウンせずにログを再読み込みできます。このコマンドは、nginxのスケジュールされたログバックアップに使用でき、月/日などの時間間隔で分割するのに役立ちます。

USR2:kill -USR2 nginxメインプロセス番号 nginxのバージョンをアップグレードする必要がある場合、nginxを停止せずにnginxをアップグレードできます。

WINCH:kill -WINCH nginx メイン プロセス番号は USR2 と連携して nginx をアップグレードし、古いバージョンの nginx のプロセスを適切に終了します。

これらの Nginx セマフォを使用すると、プロセスをシャットダウンせずに nginx ログのセグメンテーションと nginx のアップグレードを制御できます。徐々に Nginx を深く理解するにつれて、わずか 50,000 行のコードで Nginx がこのような素晴らしい結果を達成できることを実感します。本当に感心します!

要約する

以上がこの記事の全内容です。この記事の内容が皆様の勉強や仕事に何らかの参考学習価値をもたらすことを願います。123WORDPRESS.COM をご愛顧いただき、誠にありがとうございます。これについてもっと知りたい場合は、次のリンクをご覧ください。

以下もご興味があるかもしれません:
  • nginxシグナルセットケースの詳細な説明
  • Nginx ログ管理の概要
  • CentOS の Nginx 公式 Yum ソースの設定を詳しく解説
  • Linux 上の Nginx に複数のバージョンの PHP をインストールする
  • Centos7 に PHP と Nginx をインストールする詳細なチュートリアル
  • リバースプロキシ設定を実装するためのユニバーサルnginxインターフェース
  • Vue プロジェクト nginx を非ルート ディレクトリにデプロイするときに空白が更新される問題を解決する
  • Nginx をインストールして複数のドメイン名を設定する方法
  • Nginxがオンになっていると、ポートが占有され、「アドレスは既に使用されています」というメッセージが表示されます。
  • 実行後にdocker nginxにアクセスできない問題の解決策
  • nginx ロードバランシングを介して https にリダイレクトする方法

<<:  Linux で MySQL のルート パスワードを変更する方法

>>:  JavaScript で右クリック メニューを統合する layim のサンプル コード

推薦する

src 属性と href 属性の違い

src と href には違いがあり、混同される可能性があります。 src は現在の要素を置き換える...

Centos7.3 Nginx をインストールして展開し、https を設定する方法

設置環境1. gccのインストールnginxをインストールするには、まず公式サイトからダウンロードし...

MySQL のユニークインデックスと通常のインデックスのどちらを選択すればよいでしょうか?

ユーザー テーブルを設計するときに、各人の ID 番号が一意であり、検索する必要があるシナリオを想像...

ServerSocketのデフォルトIPバインディングの実装プロセスの詳細な説明

開発中にサーバーを起動する必要がある場合、ローカルテストではポートを直接書き込み、実際の環境ではバイ...

ネイティブJavaScriptカルーセル実装方法

この記事では、JavaScriptカルーセルの実装方法を参考までに紹介します。具体的な内容は次のとお...

Docker ベースの ELK ログ システムを構築する方法

背景要件:ビジネスがどんどん大きくなると、サーバーの数も増え、さまざまなアクセスログ、アプリケーショ...

初心者がdockerにmysqlをインストールするときに遭遇するさまざまな問題

序文最近、パソコンのシャットダウンに時間がかかることが多く、強制的にシャットダウンするには電源ボタン...

MySQL 8.0.12 のインストールと環境変数の設定チュートリアル (Win10 の場合)

Windows 10 プラットフォームでの MySQL のインストール、構成、起動、ログイン、環境...

Nginx rtmp モジュールのコンパイル ARM バージョンの問題

目次1. 準備: 2. ソースコードのコンパイル1. 設定する2. コンパイルエラー3. ターゲット...

Windows での PyTorch 開発環境のインストール チュートリアル

アナコンダのインストールAnaconda は、Python の使用を容易にするために作成されたソフト...

32 典型的な列/グリッドベースのウェブサイト

列ベースの Web デザインのインスピレーションをお探しの場合は、32 個のクラシックな列/グリッド...

カルーセルアニメーションを実現するVueコンポーネント

この記事では、カルーセルアニメーションを実現するためのVueコンポーネントの具体的なコードを例として...

HTMLのセマンティクスといくつかの簡単な最適化についての簡単な説明

1. セマンティゼーションとは何ですか? Bing辞書の説明セマンティクス化とは、適切な HTML ...

MySQL countの詳細な説明と関数のサンプルコード

mysql countの詳細な説明count関数はテーブルや配列内のレコードを数えるために使われます...

優れたウェブサイトのコピーライティングと優れたユーザーエクスペリエンス

ウェブサイトを見るというのは、実は美しい女性を評価するようなものです。見た目を見るとき、私たちは見た...