Nginx で同じドメイン名を持つ複数のプロジェクトを構成する方法

Nginx で同じドメイン名を持つ複数のプロジェクトを構成する方法

Nginx を使用して同じドメイン名で複数のプロジェクトを構成するには、次の 2 つの方法があります。

  • nginxは異なるディレクトリに応じて異なるプロジェクトに配布されます
  • セカンドレベルドメイン名を有効にし、異なるプロジェクトに異なるセカンドレベルドメイン名を割り当てる

1. nginx は、異なるディレクトリに応じて異なるプロジェクトに配布されます。

サーバー{
  聞く 80;
  サーバー名 example.com;
 
  場所 ^~ /project1 {
    proxy_pass http://localhost:8081;
    proxy_set_header ホスト $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  }
 
  場所 ^~ /project2 {
    proxy_pass http://localhost:8082;
    proxy_set_header ホスト $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  }
 
  位置 / {
    proxy_pass http://localhost:8080;
    proxy_set_header ホスト $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  }
}

ここでは 3 つのプロジェクトが構成されています。

  • http://example.com/project1 は http://localhost:8081 に配布されます
  • パス http://example.com/project2 は http://localhost:8082 に配布されます。
  • その他のパスはhttp://localhost:8080に配布されます

2. セカンドレベルドメイン名を有効にし、異なるプロジェクトに異なるセカンドレベルドメイン名を割り当てる

注: 多くの学生は、最初にセカンダリ ドメイン名に A レコードをホストに追加する必要があるため無効だと言います。同じドメイン名で、同じホストに N 個のセカンダリ ドメイン名を追加できます。

サーバー{
  聞く 80;
  サーバー名 example.com;
  位置 / {
    proxy_pass http://localhost:8080;
    proxy_set_header ホスト $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  }
}

プロジェクト1

サーバー{
  聞く 80;
  サーバー名 project1.example.com;
  位置 / {
    proxy_pass http://localhost:8081;
    proxy_set_header ホスト $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  }
}

プロジェクト2

サーバー{
  聞く 80;
  サーバー名 project2.example.com;
  位置 / {
    proxy_pass http://localhost:8082;
    proxy_set_header ホスト $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  }
}

注意: これら 3 つのプロジェクトは異なるドメイン名に属しており、http 経由でプロジェクトにアクセスするとクロスドメインの問題が発生します。

Nginx で同じドメイン名を持つ複数のプロジェクトを構成する方法についての記事はこれで終わりです。Nginx で同じドメイン名を持つ複数のプロジェクトを構成する方法の詳細については、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • 同じドメイン名を持つ Nginx プロキシのフロントエンドとバックエンドの分離プロジェクトの完全な手順
  • nginx を使用して同じドメイン名で複数の Vue プロジェクトをデプロイし、リバース プロキシを使用する方法

<<:  CSS3 を使用して入力複数選択ボックスのスタイルをカスタマイズする例

>>:  折りたたまれたテーブル行要素のバグ

推薦する

VUE v-for の :key の詳細な説明

v-for タグにキーが追加されていない場合。 <!DOCTYPE html> <...

Dockerアーキテクチャ入門

Docker には 3 つの基本概念が含まれています。イメージ: Docker イメージはルート フ...

CSS 属性値正規マッチングセレクターの使い方 (ヒント)

属性値の正規一致セレクターには 3 つの種類があります。 [属性^="値"] [...

WeChat ミニプログラム 宝くじ番号ジェネレーター

この記事では、WeChatアプレットの宝くじ番号ジェネレータの具体的なコードを参考までに紹介します。...

Windows Server 2008 R2 サーバーが理由もなく自動的に再起動する問題の解決策

Windows Server 2008 サーバーが自動的に再起動します。サーバーにログインした後、ど...

CSS はモバイル デバイスで水平スクロール ナビゲーション バーを実装します (PC デバイスにも適用可能)

関数の起源最近、水平スクロール バーを必要とする H5 に取り組んでいました。いくつかのドキュメント...

エンタープライズプロダクション MySQL 最適化入門

Oracle、DB2、SQL Server などの他の大規模データベースと比較すると、MySQL に...

WeChatアプレットがユーザーの移動軌跡を記録

目次設定を追加json 構成レイヤー構成の表示論理層の構成位置追跡をオンにする録音を開始開始座標を決...

IIS 7.5では、HTMLはSHTMLのようなinclude関数(モジュールマッピングの追加)をサポートします。

最初はたくさんのエラーを見つけましたが、実際には非常に簡単です。shtm の元の設定を参照するだけで...

MySQLユーザー権限管理の詳細な説明

目次序文: 1. ユーザー権利の概要2. 実際の権限管理序文:データベースのユーザー権限管理について...

効率を向上できる Linux コマンドエイリアス 10 個のまとめ

序文Linux 環境で作業するエンジニアは、これらの面倒な命令とパラメータのコマンドラインにきっと驚...

mysql 8.0.16 winx64 および Linux でルート ユーザーのパスワードを変更する方法

データベースへの接続などの基本的な操作はご自身で行ってください。この記事ではパスワードの変更方法を中...

MySQL 5.7 zip版(zip版)のインストールと設定手順の詳細

はじめに: Windows 10 を再インストールし、同時にファイルを整理しました。しかし、MySQ...

MySql エラー 1698 (28000) の解決策

1. 問題の説明: MysqlERROR1698 (28000) の解決方法、新しくインストールされ...

MySQL データベースの詳細な説明 - 複数テーブル クエリ - 内部結合、外部結合、サブクエリ、相関サブクエリ

複数テーブルクエリ複数のテーブルから関連するクエリ結果を取得するには、単一の SELECT ステート...