国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

ホームページ 運用?保守 Nginx Nginx のサーバーと場所のマッチング ロジックは何ですか?

Nginx のサーバーと場所のマッチング ロジックは何ですか?

May 12, 2023 am 11:10 AM
nginx server location

サーバー マッチング ロジック

nginx がリクエストを?qū)g行するサーバー ブロックを決定するとき、主にサーバー ブロックの listen フィールドと server_name フィールドに焦點を當(dāng)てます

listen コマンド

listen フィールドは、サーバー応答の IP とポートを定義します。listen フィールドが明示的に設(shè)定されていない場合、デフォルトの listen は 0.0.0.0:80 (root) または0.0.0.0:8080 (非ルート)

listen は次のように構(gòu)成できます:

  1. IP とポートの組み合わせ

  2. 単一の ip、デフォルトはポート 80 をリッスンします

  3. 単一ポート、デフォルトはすべての IP インターフェースをリッスンします

  4. Unix ソケット パス

最後の項目は通常、異なるサーバー間でリクエストを渡すためにのみ使用されます

使用するサーバーを選択するためのルールは次のとおりです:

  1. nginx まず、listen フィールドのないすべての「不完全な」 listen 命令を listen 0.0.0.0:80 に、listen 1.1.1.1 を listen 1.1.1.1:80 に、などに変換します。

  2. nginx は、要求された IP とポートに基づいてリクエストに最も一致するサーバー ブロック リストを作成します。最初に特定の IP を指定するサーバー ブロックと一致し、次にリッスンするサーバー ブロックを選択します。ただし、どちらの場合であっても、ポートは完全に一致する必要があります

  3. 最適一致が 1 つだけの場合は、一致するサーバー ブロックが応答に使用されますそれ以外の場合は、各サーバー ブロックのserver_name ディレクティブが評価されます

繰り返しになりますが、server_name ディレクティブは、listen ディレクティブが最適な一致を見つけられなかった場合にのみ評価されます。 ##たとえば、example.com ドメイン名が 192.168.0.1 を指しており、192.168.0.1 にある nginx には次の 2 つのサーバー ブロックのみがあると想定します:

# server block 1server {
  listen 192.168.0.1;
  server_name other.com
  ...
}

# server block 2server {
  listen 80;
  server_name example.com
  ...
}

server_name ディレクティブ

listen ディレクティブに従って最適な一致が取得できない場合は、server_name ディレクティブの解析が開始されます。nginx はリクエストの「host」ヘッダーをチェックします。この値には、ドメイン名または IP アドレスが含まれていますクライアントは実際にリクエストを試みています。nginx はこの値に基づいて server_name ディレクティブと一致します。一致ルールは次のとおりです:

    nginx は、この値に正確に一致するサーバー ブロックを見つけようとします。 server_name と host の値。複數(shù)の完全一致が見つかった場合は、最初に一致したサーバー ブロックが使用されます
  1. 完全に一致するサーバー ブロックが見つからない場合、nginx は、server_name のサーバー ブロックを見つけようとします。 * で始まります。複數(shù)のサーバー ブロックが見つかった場合は、最も長く一致するサーバー ブロックが選択されます。
  2. If で始まるサーバー ブロックが見つからない場合は、で終わるサーバー ブロックが検索されます。複數(shù)の一致がある場合は、最も長い一致が選択されます。
  3. #* に一致するサーバー ブロックが見つからない場合は、正規(guī)表現(xiàn) (開始) を使用して、server_name を定義するサーバー ブロックを検索します。複數(shù)の一致が見つかった場合は、最初の一致が使用されます
  4. 正規(guī)表現(xiàn)の一致が見つからないサーバー ブロックの場合、nginx は listen フィールドに一致するデフォルトのサーバー ブロックを選択します. 各 IP とポートの組み合わせは、1 つだけのデフォルトの default_server ブロックで構(gòu)成できます。そうでない場合は、使用可能なリストの最初のものが選択されます。サーバー (この時點での選択はランダムであり、順序は固定されていません)
  5. 例は次のとおりです。

(1) 正確なサーバー名一致、例:

server {
   listen    80;
   server_name www.domain.com;
   ...
}

(2) * ワイルドカードで始まる文字列:

server {
   listen    80;
   server_name *.domain.com;
   ...
}

(3) * ワイルドカードで終わる文字列:

server {
   listen    80;
   server_name www.*;
   ...
}

(4) 一致する正規(guī)表現(xiàn):

server {
   listen    80;
   server_name ~^(?.+)\.domain\.com$;
   ...
}

(5) 上記のいずれにも一致しない場合は、default_server が使用されます。 default_server が指定されていない場合、最初に利用可能なサーバーが選択されます。一致するホスト値がない場合に、クライアントにエラーが返されるように指定できます。他のユーザーがスパム トラフィックを Web サイトにリダイレクトするのを防ぐために使用できます。

server {
  listen 80  default_server;
  server_name _;  return 444;
}

nginx の非標(biāo)準(zhǔn)エラー コード 444 を返すことで、nginx がブラウザから切斷されるようにします。

ロケーション マッチング ロジック

location 構(gòu)文分析

location optional_modifier location_match {
  ...
}
利用可能な修飾子は次のとおりです

Nginx のサーバーと場所のマッチング ロジックは何ですか?決定ルール

1. nginx は最初に Prefixed に基づいてチェックします位置の一致 (つまり、正規(guī)表現(xiàn)を含まない一致)

2. 要求された URL と完全に一致する = 修飾子を使用した位置ブロックがある場合、その位置は要求に応答するために直ちに使用されます。

3. = 修飾子と一致するロケーション ブロックが見つからない場合、不正確なプレフィックスが計算され続け、指定された URI に基づいて最長一致するプレフィックスが検索され、次の処理が実行されます。 :

(1) 最長一致する場所に ^~ 修飾子があり、nginx はすぐにこの場所を使用してリクエストに応答する場合

(2) 最長一致する場所に ^~ 修飾子がない場合^~ 修飾子を使用すると、nginx は match. を一時的に保存し、その後のマッチング

4 を継続します。最長一致するプレフィックスの場所ブロックを決定して保存した後、nginx は正規(guī)表現(xiàn)の一致する場所 (大文字と小文字を區(qū)別します) を引き続きチェックします。 /case-insensitive). 正規(guī)表現(xiàn)がある場合 必要な一致が満たされた場合、リクエストされた URI に一致する最初の正規(guī)表現(xiàn)の場所がリクエストに応答するために選択されます

5. 正規(guī)表現(xiàn)がない場合要求された URI に一致する場所が見つかった場合は、以前の場所が使用されます。最長保存されたプレフィックス ロケーション応答リクエスト

補足

通常、リクエストに応答するために特定の場所を使用することを選択すると、リクエストは他の場所に関係なく、その場所內(nèi)で処理されます。ただし、その場所での特定の指示により、次のような新しい場所の一致がトリガーされます。

(1)try_files

(2)rewrite

(3)error_page

以上がNginx のサーバーと場所のマッチング ロジックは何ですか?の詳細(xì)內(nèi)容です。詳細(xì)については、PHP 中國語 Web サイトの他の関連記事を參照してください。

このウェブサイトの聲明
この記事の內(nèi)容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰屬します。このサイトは、それに相當(dāng)する法的責(zé)任を負(fù)いません。盜作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡(luò)ください。

ホットAIツール

Undress AI Tool

Undress AI Tool

脫衣畫像を無料で

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

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

SublimeText3 中國語版

SublimeText3 中國語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統(tǒng)合開発環(huán)境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

Nginx vs. Apache:Webサーバーの比較分析 Nginx vs. Apache:Webサーバーの比較分析 Apr 21, 2025 am 12:08 AM

NGINXは、高い並行接続の処理に適していますが、Apacheは複雑な構(gòu)成とモジュール拡張が必要な??シナリオにより適しています。 1.Nginxは、高性能と低リソース消費で知られており、高い並行性に適しています。 2. Apacheは、その安定性とリッチモジュール拡張機能で知られています。これは、複雑な構(gòu)成ニーズに適しています。

NginxとApache:重要な違??いを理解する NginxとApache:重要な違??いを理解する Apr 26, 2025 am 12:01 AM

NginxとApacheにはそれぞれ獨自の利點と欠點があり、選択は特定のニーズに基づいている必要があります。 1.Nginxは、非同期の非ブロッキングアーキテクチャのため、高い並行性シナリオに適しています。 2。Apacheは、モジュラー設(shè)計のため、複雑な構(gòu)成を必要とする低変動シナリオに適しています。

PHPコードを作成した後にPHPコードを?qū)g行する方法は? PHPコードを?qū)g行するいくつかの一般的な方法 PHPコードを作成した後にPHPコードを?qū)g行する方法は? PHPコードを?qū)g行するいくつかの一般的な方法 May 23, 2025 pm 08:33 PM

PHPコードはさまざまな方法で実行できます。1。コマンドラインを使用して「PHPファイル名」を直接入力してスクリプトを?qū)g行します。 2.ファイルをDocument Root Directoryに入れ、Webサーバーを介してブラウザを介してアクセスします。 3. IDEで実行し、組み込みのデバッグツールを使用します。 4.テストには、オンラインPHPサンドボックスまたはコード実行プラットフォームを使用します。

nginxをインストールした後、構(gòu)成ファイルパスと初期設(shè)定 nginxをインストールした後、構(gòu)成ファイルパスと初期設(shè)定 May 16, 2025 pm 10:54 PM

Nginxの構(gòu)成ファイルパスと初期設(shè)定を理解することは、Webサーバーの最適化と管理における最初のステップであるため、非常に重要です。 1)構(gòu)成ファイルパスは通常/etc/nginx/nginx.confです。構(gòu)文は、Nginx-Tコマンドを使用して見つけるとテストできます。 2)初期設(shè)定には、グローバル設(shè)定(ユーザー、Worker_Processesなど)およびHTTP設(shè)定(include、log_formatなど)が含まれます。これらの設(shè)定により、要件に応じてカスタマイズと拡張機能が可能になります。構(gòu)成が誤っていると、パフォーマンスの問題やセキュリティの脆弱性が生じる可能性があります。

Linuxのユーザーリソースを制限する方法は? ulimitを構(gòu)成する方法は? Linuxのユーザーリソースを制限する方法は? ulimitを構(gòu)成する方法は? May 29, 2025 pm 11:09 PM

Linuxシステムは、リソースの過度の使用を防ぐために、ULIMITコマンドを介してユーザーリソースを制限します。 1.ulimitは、ファイル記述子(-n)、メモリサイズ(-v)、スレッドカウント(-u)などの數(shù)を制限できるビルトインシェルコマンドであり、ソフト制限(現(xiàn)在の有効値)とハードリミット(最大上限)に分割されます。 2。Ulimit-N2048などの一時的な変更には、Ulimitコマンドを直接使用しますが、現(xiàn)在のセッションでのみ有効です。 3.永続的な効果を得るには、/etc/security/limits.confを変更し、PAM構(gòu)成ファイルを変更し、SessionRequiredPam_limits.soを追加する必要があります。 4. SystemDサービスは、ユニットファイルにLIMを設(shè)定する必要があります

Debian Nginx構(gòu)成スキルは何ですか? Debian Nginx構(gòu)成スキルは何ですか? May 29, 2025 pm 11:06 PM

DebianシステムでNginxを構(gòu)成する場合、以下はいくつかの実用的なヒントです。構(gòu)成ファイルの基本構(gòu)造グローバル設(shè)定:NGINXサービス全體に影響を與える行動パラメーターを定義します。イベント処理パーツ:Nginxがネットワーク接続をどのように扱うかを決定することは、パフォーマンスを改善するための重要な構(gòu)成です。 HTTPサービスパーツ:HTTPサービスに関連する多數(shù)の設(shè)定が含まれており、複數(shù)のサーバーとロケーションブロックを埋め込むことができます。コア構(gòu)成オプションworker_connections:各ワーカースレッドが処理できる接続の最大數(shù)を定義します。通常は1024に設(shè)定されています。Multi_accept:マルチ接続受信モードをアクティブにし、同時処理の能力を高めます。 s

Nginxの目的:Webコンテンツなどの提供 Nginxの目的:Webコンテンツなどの提供 May 08, 2025 am 12:07 AM

NginxServesWebContentAndActSasaReverseProxy、loadbalancer、andmore.1)itefficientlyServestaticContentlikehtmlandimages.2)ItfunctionsasareSareProxyandloadbalancer、distributing trafficacrosservers.3)

nginxトラブルシューティング:一般的なエラーの診斷と解決 nginxトラブルシューティング:一般的なエラーの診斷と解決 May 05, 2025 am 12:09 AM

nginxの一般的なエラーの診斷とソリューションには、次のものが含まれます。1。ログファイルの表示、2。構(gòu)成ファイルの調(diào)整、3。パフォーマンスを最適化します。ログを分析し、タイムアウト設(shè)定を調(diào)整し、キャッシュとロードバランスの最適化により、404、502、504などのエラーを効果的に解決して、ウェブサイトの安定性とパフォーマンスを向上させることができます。

See all articles