Nginx と Lua の実行順序

Jul 28, 2016 am 08:28 AM
access nginx post rewrite

Nginx が各ユーザーリクエストを処理するとき、設定ファイル内の順序ではなく、いくつかの異なるフェーズに従って順番に処理します。

Nginxリクエスト処理のプロセスは、

post-read、server-rewrite、find-config、rewrite、post-rewrite、preaccess、access、post-access、try-filesの11段階に分かれています。 、コンテンツ、ログ。

  • 読後:
    リクエストコンテンツの読み取りフェーズ
    Nginx はリクエストヘッダーを読み取って解析した後、すぐに実行を開始します
    たとえば、ngx_realip モジュールは読み取り後の段階でハンドラーを登録します。その機能は、Nginx に現在のリクエストのソース アドレスが指定されたリクエスト ヘッダーの値であると認識させることです。
  • サーバー書き換え
    サーバーリクエストアドレス書き換えフェーズ
    ngx_rewrite モジュールの set 構成命令がサーバー構成ブロックに直接書かれている場合、それらは基本的にサーバー書き換えステージで実行されます
  • find-config
    構成検索フェーズ
    この段階では、Nginx モジュール登録ハンドラーはサポートされていません。代わりに、Nginx コアが現在のリクエストとロケーション構成ブロックの間の照合を完了します。
  • 書き直す
    位置情報リクエストアドレス書き換えフェーズ
    ngx_rewrite モジュールのディレクティブが location ブロックで使用される場合、それらはこの書き換えフェーズで実行されます。
    さらに、ngx_set_misc (set md5、encode_base64 など) モジュールの命令、ngx_lua モジュールの set_by_lua 命令および rewrite_by_lua 命令もこの段階にあります。
  • リライト後
    アドレス書き換えリクエストの送信フェーズ
    書き換えフェーズでそのような要件がある場合、Nginx コアは書き換えフェーズで必要な「内部ジャンプ」操作を完了します。
  • プリアクセス
    アクセス許可チェック準備フェーズ
    標準モジュール ngx_limit_req と ngx_limit_zone はこの段階で実行され、前者はリクエストのアクセス頻度を制御でき、後者はアクセスの同時実行を制限できます。
  • アクセス
    アクセス許可チェックフェーズ
    標準モジュール ngx_access、サードパーティ モジュール ngx_auth_request、およびサードパーティ モジュール ngx_lua の access_by_lua ディレクティブがこの段階で実行されます。
    構成命令は主に、ユーザーのアクセス権の確認やユーザーの送信元 IP アドレスが正当であるかどうかの確認などのアクセス制御タスクを実行するために使用されます
  • アクセス後
    アクセス許可チェックの提出フェーズ
    これは主に、アクセス ステージと連携して、標準の ngx_http_core モジュールによって提供される構成命令の満足機能を実装するために使用されます。
    すべて(関係)を満たす
    何か(または関係)を満たす
  • ファイルを試す
    構成アイテム try_files 処理ステージ
    特に標準設定ディレクティブ try_files の機能を実装するために使用されます
    最初の N-1 個のパラメーターに対応するファイル システム オブジェクトが存在しない場合、ファイルの試行フェーズでは、最後のパラメーター (つまり、N 番目のパラメーター) で指定された URI への「内部ジャンプ」が直ちに開始されます。 コンテンツ生成段階
  • Nginx のコンテンツ フェーズは、すべてのリクエスト処理フェーズの中で最も重要です。これは、このフェーズで実行される構成命令が一般に「コンテンツ」の生成を担当するためです
  • そしてHTTPレスポンスミッションを出力します。

    ログ
    ログモジュールの処理段階
  • レコードログ


  • ').addClass('事前番号付け').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i
  • ').text(i)); }; $numbering.fadeIn(1700); }); });
上記では、Nginx と Lua の実行シーケンスを、関連する内容も含めて紹介しています。PHP チュートリアルに興味のある友人の参考になれば幸いです。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Windows 11 でバックグラウンド アプリケーションを無効にする方法_バックグラウンド アプリケーションを無効にする Windows 11 チュートリアル Windows 11 でバックグラウンド アプリケーションを無効にする方法_バックグラウンド アプリケーションを無効にする Windows 11 チュートリアル May 07, 2024 pm 04:20 PM

1. Windows 11で設定を開きます。 Win+I ショートカットまたはその他の方法を使用できます。 2. 「アプリ」セクションに移動し、「アプリと機能」をクリックします。 3. バックグラウンドでの実行を禁止したいアプリケーションを見つけます。三点ボタンをクリックして、[詳細オプション] を選択します。 4. [バックグラウンド アプリケーションのアクセス許可] セクションを見つけて、目的の値を選択します。デフォルトでは、Windows 11 は電力最適化モードを設定します。これにより、Windows はアプリケーションがバックグラウンドでどのように動作するかを管理できるようになります。たとえば、バッテリーを節約するためにバッテリー セーバー モードを有効にすると、システムはすべてのアプリを自動的に終了します。 5. アプリケーションがバックグラウンドで実行されないようにするには、[なし] を選択します。プログラムが通知を送信していない、データの更新に失敗しているなどに気付いた場合は、次のことができることに注意してください。

DeepSeek PDFを変換する方法 DeepSeek PDFを変換する方法 Feb 19, 2025 pm 05:24 PM

DeepSeekはファイルを直接PDFに変換できません。ファイルの種類に応じて、異なる方法を使用できます。一般的なドキュメント(Word、Excel、PowerPoint):Microsoft Office、Libreoffice、その他のソフトウェアを使用してPDFとしてエクスポートします。画像:画像ビューアまたは画像処理ソフトウェアを使用してPDFとして保存します。 Webページ:ブラウザの「Print into PDF」関数を使用するか、PDFツールに専用のWebページを使用します。 UNCOMMONフォーマット:適切なコンバーターを見つけて、PDFに変換します。適切なツールを選択し、実際の状況に基づいて計画を作成することが重要です。

Java リフレクション メカニズムはクラスの動作をどのように変更しますか? Java リフレクション メカニズムはクラスの動作をどのように変更しますか? May 03, 2024 pm 06:15 PM

Java リフレクション メカニズムを使用すると、プログラムはソース コードを変更せずにクラスの動作を動的に変更できます。 Class オブジェクトを操作することで、newInstance() によるインスタンスの作成、プライベート フィールドの値の変更、プライベート メソッドの呼び出しなどが可能になります。ただし、リフレクションは予期しない動作やセキュリティ上の問題を引き起こす可能性があり、パフォーマンスのオーバーヘッドがあるため、注意して使用する必要があります。

Vue でクロスドメイン iframe を使用する方法 Vue でクロスドメイン iframe を使用する方法 May 02, 2024 pm 10:48 PM

Vue で iframe クロスドメインの問題を解決する方法: CORS: バックエンド サーバーで CORS サポートを有効にし、XMLHttpRequest またはフェッチ API を使用して Vue で CORS リクエストを送信します。 JSONP: バックエンド サーバーの JSONP エンドポイントを使用して、Vue に JSONP スクリプトを動的に読み込みます。プロキシ サーバー: リクエストを転送するためにプロキシ サーバーを設定し、Vue のサードパーティ ライブラリ (axios など) を使用してリクエストを送信し、プロキシ サーバー URL を設定します。

Java関数開発における一般的な例外の種類とその修復方法 Java関数開発における一般的な例外の種類とその修復方法 May 03, 2024 pm 02:09 PM

Java 関数開発における一般的な例外の種類とその修復方法 Java 関数の開発中に、関数の正しい実行に影響を与えるさまざまな例外が発生する可能性があります。一般的な例外の種類とその修復方法は次のとおりです。 1. NullPointerException 説明: 初期化されていないオブジェクトにアクセスするとスローされます。修正: オブジェクトを使用する前に、オブジェクトが null でないことを確認してください。サンプル コード: try{Stringname=null;System.out.println(name.length());}catch(NullPointerExceptione){

Oracleでdbfファイルを読み取る方法 Oracleでdbfファイルを読み取る方法 May 10, 2024 am 01:27 AM

Oracle は、次の手順で dbf ファイルを読み取ることができます。外部テーブルを作成し、その dbf ファイルを参照し、データを Oracle テーブルにインポートします。

PHP を使用して Web サイトを展開および維持する方法 PHP を使用して Web サイトを展開および維持する方法 May 03, 2024 am 08:54 AM

PHP Web サイトを正常に展開して維持するには、次の手順を実行する必要があります。 Web サーバー (Apache や Nginx など) を選択する PHP をインストールする データベースを作成して PHP に接続する コードをサーバーにアップロードする ドメイン名と DNS を設定する Web サイトのメンテナンスを監視する手順には、PHP および Web サーバーの更新、Web サイトのバックアップ、エラー ログの監視、コンテンツの更新が含まれます。

オラクルでのExplainの使い方 オラクルでのExplainの使い方 May 03, 2024 am 12:06 AM

Oracle の EXPLAIN コマンドは、SQL ステートメントの実行計画を分析するために使用されます。使用方法は、SQL ステートメントの前に EXPLAIN キーワードを追加することです。 EXPLAIN の結果には、ID、演算子のタイプ、行数の推定、コストの推定、出力行数の推定、アクセス述語、フィルター述語などの情報が含まれており、クエリのパフォーマンスの最適化、コストのかかる演算子、最適化によってメリットが得られるテーブルの特定に使用できます。テクニック。

See all articles