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 のサンプル コード

推薦する

Dockerを使用してOracle_11gをインストールする方法

DockerでOracle_11gをインストールする1. oracle_11gイメージを取得する d...

ウェブサイトをより高く、よりデザイン的に見せる方法

「ウェブサイトを高級感のあるものにするにはどうすればいいでしょうか? それともデザイン重視にすればい...

MySQL クエリ フィールド タイプが json の場合の 2 つのクエリ メソッド

テーブル構造は次のとおりです。 id varchar(32) 情報JSONデータ: id = 1 i...

MySQL 集計関数のネストされた使用操作

目的: MySQL 集計関数のネストされた使用集計関数は直接ネストできません。例: max(coun...

純粋な CSS を使用してユーザーが Web ページのコンテンツをコピーするのを防ぐ方法

序文私自身の個人ブログを入力しているときに、ブログの詳細ページでさまざまなコンテンツをコピーするさま...

Dockerで複数のSpringbootを実行するための詳細なチュートリアル

Dockerは複数のSpringbootを実行する1番目: ポートマッピング 2番目: メモリサイズ...

Win32 MySQL 5.7.27 のインストールと設定方法のグラフィックチュートリアル

MySQL 5.7.27のインストールチュートリアルは以下のように記録され、皆さんと共有されています...

CSS リセットスタイルリセットの実装例

はじめに: すべてのブラウザには、「ユーザー エージェント スタイル シート」と呼ばれる、すべてのペ...

Dockerイメージを完全にアンインストールする手順

1. docker ps -a 実行中のイメージプロセスを表示する [root@mylinux~]#...

MySQLデータベースでの値の追加、変更、削除、クリアの例

3. MySQLデータ管理最初の方法:お勧めできません。複雑そうです -- 学生テーブルの grad...

MySQLキーワードDistinctの詳細な紹介

MySQLキーワードDistinctの使い方の紹介DDL SQLを準備します: テーブルテストを作成...

Ubuntu Server でのワイヤレス ネットワーク カードの詳細な設定

1. ワイヤレス ネットワーク カードを挿入し、コマンドiwconfigを使用してワイヤレス ネット...

LeetCode の SQL 実装 (181. 従業員は管理職よりも収入が高い)

[LeetCode] 181.従業員の収入が管理職よりも多い従業員テーブルには、マネージャーを含む...

CSSセレクターでの正規表現の使用

はい、CSS にも正規表現があります (アーメン) CSS で目立つための 2 つの強力なツール: ...