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

推薦する

Linuxはlsof/extundeleteツールを使用して、誤って削除されたファイルやディレクトリを復元します。

序文Linux には Windows のような目立つごみ箱がないため、簡単に復元することはできません...

Windows Server 2008R2 ファイル サーバーを Windows Server 2016 にアップグレードする

ユーザー組織には、ドメインに参加している 2 台の Windows Server 2008 R2 フ...

MySQLデータベースを定期的に自動バックアップする方法

データは貴重なものであることは誰もが知っています。データをバックアップしなければ、データをそのまま放...

MySQLでの少し複雑な使用例コード

序文MySQL の構文は誰にとっても難しいものではないと思いますが、この記事では主に MySQL の...

MySQLデータベースに他のIPアドレスからアクセスできない問題の解決策

序文先ほどのプロジェクトを参考にすると、環境は整いました。プロジェクトの準備と検証の段階で、問題が発...

JavaScript タイピングゲーム

この記事では、タイピングゲームを実装するためのJavaScriptの具体的なコードを参考までに紹介し...

MySQL バイナリログデータ復旧: 誤ってデータベースを削除した場合の詳細な説明

MySQL Binログデータの回復: 誤ってデータベースを削除した場合前書き: テスト マシンで誤っ...

VMware 12 での Ubuntu 16.04 インストール チュートリアル

この記事では、VMware 12でのUbuntu 16.04のインストールチュートリアルを参考までに...

JSはアニメーションのレイアウト変換を実装します

JS でアニメーションを記述する場合、移動前に相対位置を絶対位置に変換してからアニメーション機能を実...

Red Hat Enterprise Linux 8 をベースにした CentOS 8 が正式にリリースされました

CentOS プロジェクトは、Red Hat の再配布要件に完全に準拠した、Red Hat Ente...

Linux でバックグラウンド タスクを実行するために nohup と screen を使用する例と違いの簡単な分析

SSH ターミナル (putty、xshell など) を使用して Linux サーバーに接続し、時...

Nginx の負荷分散方法の概要

負荷分散を理解するには、まずフォワード プロキシとリバース プロキシを理解する必要があります。注記:...

ブラウザ間の hr 区切り文字の違い

Webページを作るときに、区切り線hrを使うことがありますが、IE6やIE7で表示するのは非常に苦痛...

iframe が HTML 内のページにジャンプするのを防ぎ、iframe を使用して WeChat Web バージョンをページに埋め込む方法

私は、WinForm と HTML5 を組み合わせた小さなものを作りたいだけなのですが、突然、そこに...

フレックスボックスレイアウトの最終行の左揃えの実装アイデア

フレックスレイアウトを使用すると、9つの正方形のグリッドであれば、図に示すように均等に分割できます。...