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 を使用して入力複数選択ボックスのスタイルをカスタマイズする例

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

推薦する

MySQL 5.7 でルートパスワードを忘れた後に変更する方法の詳細なチュートリアル

序文長い間、MySQL のアプリケーションおよび学習環境は MySQL 5.6 以前のバージョンであ...

Linux ダイナミックライブラリの生成と使用ガイドの詳細な説明

Linux での動的ライブラリ ファイルのファイル名は libxxx.so のようになります。ここで...

間違った MySQL コマンドをキャンセルしたい場合はどうすればいいですか?

間違った mysql コマンドを入力したのでキャンセルしたいです。どうすればいいですか? ctrl ...

CSS と JavaScript を使用して管理ダッシュボードのレイアウトを構築するためのサンプル コード

あなたが作成するものこの新しいチュートリアルでは、CSS と JavaScript を使用して、レス...

cobbler ベースの Linux システムを自動的にインストールする

1. コンポーネントをインストールする yum install epel-rpm-macros.no...

Web インタビュー: MVC と MVVM の違いと、Vue が MVVM に完全に準拠していない理由

目次MVCとMVVMの違い前述のMVCC の概要長所と短所MVVM概要MVVM 実装者 — Vue ...

MySQLデータ行と行オーバーフローのメカニズムの詳細な説明

1. 行の形式は何ですか? MySQL の行形式の設定は次のように表示されます。 実際、MySQL ...

vue3+TypeScript+vue-routerの使い方

目次使いやすいプロジェクトを作成するvue-cli 作成ヴィートクリエイションvue-routerを...

Linuxはシェルスクリプトを使用して履歴ログファイルを定期的に削除します

1. ツールディレクトリのファイル構造 [root@www tools]# ツリーツール/ ツール/...

トークン生成と検証を実装するミニプログラム

目次プロセスデモミニプログラムバックエンドインターフェースプロセス各リクエストインターフェースは検証...

MySQL 結合テーブルクエリの基本操作 左結合のよくある落とし穴

概要中小規模のプロジェクトでは、特にレポートを作成するときに、結合テーブル クエリが非常に一般的な操...

Vueはグラフィック検証コードを実装する

この記事の例では、グラフィック検証コードを実装するためのVueの具体的なコードを参考までに共有してい...

忘れられたMySQLパスワードとログインエラーの問題について簡単に説明します

MySQL ログイン パスワードを忘れた場合、解決方法は実はとても簡単です。MySQL メイン構成フ...

Windows 10 での MySQL 8.0.22 のインストールと設定方法のグラフィック チュートリアル

MySQL 8.0.22のインストールと設定方法のグラフィックチュートリアル、参考までに、具体的な内...

AngularJSループオブジェクトプロパティで動的列を実装するアイデアの詳細な説明

動的な列を実現するための Angularjs ループ オブジェクト プロパティ利点: オブジェクトを...