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はローカルイメージをパッケージ化し、他のマシンに復元します

1. docker imagesを使用して、このマシン上のすべてのイメージファイルを表示します。 2...

WeChat アプレット開発フォーム検証 WxValidate の使用

個人的には、WeChat アプレットの開発フレームワークは VUE と概ね似ていると感じていますが、...

jQueryはシャトルボックス機能を実現する

この記事では、シャトルボックス機能を実現するためのjQueryの具体的なコードを参考までに紹介します...

mysql コマンドライン スクリプトの実行例

この記事では、例を使用して MySQL コマンドライン スクリプトの実行について説明します。ご参考ま...

初心者がHTMLタグを学ぶ(2)

関連記事:初心者が学ぶ HTML タグ (1)初心者は、いくつかの HTML タグを理解することで ...

win10でのmysql5.7.21解凍バージョンのインストールチュートリアル

次のように、Win10でMysqlの解凍バージョンをインストールします。環境: win10 64ビッ...

CentOS サーバーの時間を北京時間に変更する方法

1. VPSとCentOSシステムを購入しましたが、サーバーの時間が北京時間と一致せず、時差があるこ...

MycliはMySQLコマンドライン愛好家にとって必須のツールです

マイクリMyCLI は、自動補完と構文の強調表示を備えた MySQL、MariaDB、および Per...

jQueryはシャトルボックス効果を実現します

この記事では、シャトルボックス効果を実現するためのjQueryの具体的なコードを参考までに紹介します...

Docker-Composeコマンドの使い方の詳しい説明

Docker コンテナはさまざまな方法で管理およびデプロイできます。 Docker コマンドを直接使...

MySQL 5.7.19 のインストールと設定方法のグラフィック チュートリアル (win10)

以下に記録されているように、WIN10システムにMYSQLをダウンロードしてインストールするための詳...

Vue.jsは9グリッド画像表示モジュールを実装します

Vue.js を使用して、クリックしてズームできる 9 グリッドの画像表示モジュールを作成しました。...

TomcatはLog4jを使用してcatalina.outログを出力します。

Tomcat のデフォルトのログは java.util.logging を使用しますが、これにはい...

Docker を使用した RabbitMQ 環境のデプロイの詳細な紹介

前提条件: Dockerはすでにインストールされています1. 画像を見つける(方法は2つあります) ...

Windows10 での MySQL msi インストール チュートリアル (画像とテキスト付き)

1. ダウンロード1. MySQL msi 公式 Web サイトから最新のダウンロードをクリックす...