検索
ホームページ運用・保守Nginxnginxマルチドメイン転送を実装する方法

基本概念

DNS

DNS は Domain Name System の略で、ドメイン ネーム システムです。 DNS はインターネット上のサービスで、一般にドメイン名サービスまたはドメイン名解決サービスと呼ばれ、主に Web サイトのドメイン名と IP アドレスを変換するサービスを提供します。

ドメイン名と IP の対応

#ドメイン名と IP アドレスは 1 対 1 で対応しますが、同じ IP に複数のドメイン名が対応する場合があります。住所。人の名前と ID 番号の関係と同様に、ID 番号よりも名前の方が覚えやすいのは明らかです。 IP アドレスは、インターネット上のユーザーのサイトを識別する数値アドレスです。覚えやすいように、サイト アドレスを表すために IP アドレスの代わりにドメイン名が使用されます。DNS は、ドメイン名を IP アドレスに解決して、1 対 1 に対応させます。 。

DNS の仕組み

インターネットでは、「権威のある」ドメイン名解決を行うために、2 つのドメイン ネーム サーバーからドメイン名が提供される必要があります。国際ドメイン名の場合、ドメイン名登録機関はInterinc、国内ドメイン名の場合、ドメイン名登録機関はCNNICとなります。すべてのドメイン名を適切に使用するには、2 つの登録機関に登録する必要があります。

たとえば、今すぐ www.baidu.com などの Web サイトにアクセスしたい場合、コンピュータはアクセスする前にこのサイトの IP アドレスを知っている必要があります。したがって、お住まいの地域の「マスター DNS」サーバーに自動的にクエリが送信されます。つまり、「www.baidu.com」の IP は何ですか?サーバー上にドメイン名の記録がない場合は、上位レベルの DNS に移動して検索を繰り返し、最終レベルでも見つからない場合は見つかります。このとき、権威DNSを検索し、対応するIP情報をコンピュータに返します。お使いのコンピュータは、www.baidu.com に対応するサーバーと通信できます。このようなレベルごとのクエリは「再帰的」クエリと呼ばれます。

hosts ファイル

hosts ファイルは接尾辞のないローカル システム ファイルであり、その内容を変更するには管理者権限が必要です。上記の DNS 解決プロセスからわかるように、実際の IP アドレスが最終的に取得される前に、各 DNS 解決が多くの DNS サーバーによって転送される可能性があり、これは非常に非効率的です。したがって、コンピュータ上にローカルに DNS 解決ファイル、つまり hosts ファイルも存在します。ホスト内の www.baidu.com が正しい Baidu サーバー アドレスを指すようにすると、コンピューターは正しいサーバーと通信します。ローカル ホストにマッピング関係が設定されていない場合は、LAN 上の DNS サーバーにアクセスして、対応するマッピング関係を検索します。それでも存在しない場合は、ローカルの対応するノードの DNS で検索し、上記の手順を繰り返します。

nginx reverse proxy

プロキシ: 実際には仲介です。A と B を直接接続することもできましたが、A と B の間に C が追加されました。フォワード プロキシ

は上記の DNS で、クライアントのプロキシとして機能し、クライアントのリクエストを送受信し、サーバーに対して透過的です。ブラウザを使用して http://www.google.com にアクセスすると、容赦なくブロックされます。そのため、海外にプロキシ サーバーをセットアップし、そのプロキシに google.com のリクエストを手伝ってもらうことができます。プロキシは対応する構造を返します。リクエストによって返されました。渡してください。

nginxマルチドメイン転送を実装する方法

リバース プロキシ

は nginx の機能です。サーバーのプロキシとして機能します。サーバーへのリクエストを転送し、クライアントに対して透過的です。 。 www.baidu.com をリクエストするときは、10086 にダイヤルするようなものです。舞台裏で何千ものサーバーがサービスを提供している可能性がありますが、それがどれであるかはわかりませんし、知る必要もありません。リバース プロキシ サーバーが誰であるかが重要です。www.baidu.com は私たちのリバース プロキシ サーバーです。リバース プロキシ サーバーは、リクエストを実際のサーバーに転送するのに役立ちます。 Nginx は、負荷分散に使用される、非常に優れたパフォーマンスを備えたリバース プロキシ サーバーです。

nginxマルチドメイン転送を実装する方法

#nginx は複数のドメイン名のマッピングを行うためにホストを追加します

たとえば、2 つのアプリケーションのドメイン名は a.test です。 .com および b.test.com。

C:WindowsSystem32driversetc ディレクトリで hosts ファイルを見つけ、スーパー管理者権限で開きます。ファイルの最後に

a.test.com 127.0.0.1
b.test.com 127.0.0.1

を追加し、nginx.conf ファイルを変更し (nginx.conf には多くの設定があるため、ここでは最も単純な例を示します)、http の {} 内にサーバーを追加します。次の内容を追加します:

server {
  listen 80;
  server_name a.test.com;   //填入自己项目对应的域名
  charset utf-8;
  error_log logs/error.log;
  location / {
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Host $http_host;
    proxy_set_header X-NginX-Proxy true;
    proxy_pass http://127.0.0.1:8888; //填入自己项目的ip加端口号(此处的项目没有工程上下文,只有端口号)
  }
}

server {
  listen 80;
  server_name b.test.com;   //填入自己项目对应的域名
  charset utf-8;
  error_log logs/error.log;
  location / {
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Host $http_host;
    proxy_set_header X-NginX-Proxy true;
    proxy_pass http://127.0.0.1:8889; //填入自己项目的ip加端口号(此处的项目没有工程上下文,只有端口号)
  }
}

変更後、nginx 設定ファイルをリロードします

nginx.exe -s reload

以上がnginxマルチドメイン転送を実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事は亿速云で複製されています。侵害がある場合は、admin@php.cn までご連絡ください。
Nginx vs. Apache:パフォーマンス、スケーラビリティ、効率Nginx vs. Apache:パフォーマンス、スケーラビリティ、効率Apr 19, 2025 am 12:05 AM

NginxとApacheはどちらも強力なWebサーバーであり、それぞれがパフォーマンス、スケーラビリティ、効率の点で独自の利点と短所を備えています。 1)nginxは、静的なコンテンツを処理し、逆プロキシを逆にするときにうまく機能します。 2)Apacheは、動的コンテンツを処理するときにパフォーマンスが向上し、リッチモジュールサポートが必要なプロジェクトに適しています。サーバーの選択は、プロジェクトの要件とシナリオに基づいて決定する必要があります。

究極の対決:Nginx vs. Apache究極の対決:Nginx vs. ApacheApr 18, 2025 am 12:02 AM

Nginxは、高い並行リクエストの処理に適していますが、Apacheは複雑な構成と機能的拡張が必要な​​シナリオに適しています。 1.Nginxは、イベント駆動型の非ブロッキングアーキテクチャを採用しており、高電流環境に適しています。 2。Apacheはプロセスまたはスレッドモデルを採用して、複雑な構成のニーズに適したリッチモジュールエコシステムを提供します。

Nginx in Action:例と現実世界のアプリケーションNginx in Action:例と現実世界のアプリケーションApr 17, 2025 am 12:18 AM

Nginxは、Webサイトのパフォーマンス、セキュリティ、およびスケーラビリティを改善するために使用できます。 1)逆プロキシおよびロードバランサーとして、Nginxはバックエンドサービスを最適化し、トラフィックを共有できます。 2)イベント駆動型および非同期アーキテクチャを通じて、nginxは高い並行接続を効率的に処理します。 3)構成ファイルでは、静的ファイルサービスやロードバランシングなどのルールの柔軟な定義を可能にします。 4)最適化の提案には、GZIP圧縮の有効化、キャッシュの使用、およびワーカープロセスの調整が含まれます。

Nginxユニット:さまざまなプログラミング言語をサポートしますNginxユニット:さまざまなプログラミング言語をサポートしますApr 16, 2025 am 12:15 AM

Nginxunitは複数のプログラミング言語をサポートし、モジュラー設計を通じて実装されています。 1。言語モジュールの読み込み:構成ファイルに従って対応するモジュールをロードします。 2。アプリケーションの起動:呼び出し言語が実行されたときにアプリケーションコードを実行します。 3。リクエスト処理:リクエストをアプリケーションインスタンスに転送します。 4。応答返品:処理された応答をクライアントに返します。

nginxとapacheを選択する:あなたのニーズに合った適切nginxとapacheを選択する:あなたのニーズに合った適切Apr 15, 2025 am 12:04 AM

NginxとApacheには独自の利点と短所があり、さまざまなシナリオに適しています。 1.Nginxは、高い並行性と低リソース消費シナリオに適しています。 2。Apacheは、複雑な構成とリッチモジュールが必要なシナリオに適しています。コア機能、パフォーマンスの違い、ベストプラクティスを比較することで、ニーズに最適なサーバーソフトウェアを選択するのに役立ちます。

nginxを開始する方法nginxを開始する方法Apr 14, 2025 pm 01:06 PM

質問:nginxを開始する方法は?回答:nginxスタートアップnginx検証nginxはnginxを開始しました他のスタートアップオプションを自動的に開始

Nginxが開始されるかどうかを確認する方法Nginxが開始されるかどうかを確認する方法Apr 14, 2025 pm 01:03 PM

nginxが開始されるかどうかを確認する方法:1。コマンドラインを使用します:SystemCTLステータスnginx(Linux/unix)、netstat -ano | FindStr 80(Windows); 2。ポート80が開いているかどうかを確認します。 3.システムログのnginx起動メッセージを確認します。 4. Nagios、Zabbix、Icingaなどのサードパーティツールを使用します。

nginxを閉じる方法nginxを閉じる方法Apr 14, 2025 pm 01:00 PM

NGINXサービスをシャットダウンするには、次の手順に従ってください。インストールタイプを決定します:Red Hat/Centos(SystemCtl Status Nginx)またはDebian/Ubuntu(Service Nginx Status)サービスを停止します:Red Hat/Centos(SystemCtl Stop Nginx)またはDebian/Ubuntu(Service Nginx Stop)無効自動起動(オプション):Debuntos/Centos/Centos/Centos/Centos/Centos (syst

See all articles

ホット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

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

SecLists

SecLists

SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

PhpStorm Mac バージョン

PhpStorm Mac バージョン

最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強力な PHP 統合開発環境