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 プロジェクトで axios リクエストを使用する方法

目次1. インストール2. カプセル化に問題はない3. ファイルを作成する4. アドレス設定をリクエ...

UIエンジニアのキャリアについての私たちの考え

私は長い間落ち込んでいます、なぜでしょうか?以前、お客様から、提供されたソフトウェアが正常に動作しな...

mysql ダーティ ページとは何ですか?

目次ダーティページ(メモリページ)ダーティページが表示されるのはなぜですか?メモリ管理メカニズムの簡...

Raspberry PiにDockerをインストールする方法

Raspberry Pi は ARM アーキテクチャをベースとしているため、Docker のインスト...

vue-cli でレスポンシブ レイアウトを実装する方法

フロントエンド開発を行うと、PCとモバイル端末の適応に必然的に直面することになります。このような問題...

thead、tfoot、tbodyを使用して表を作成します

これらの 3 つのタグを間違った方法で使用して、タイトルを表に沿わせたり、tbody の高さを固定し...

Linux でのインストール中にソフトウェア パッケージの依存関係レポートに関連する問題の解決策

目次背景1) yumのkeepchche機能を有効にする: 方法1 2) yum-utils ソフト...

CSS 3.0とビデオを組み合わせることでクリエイティブなオープニング効果を実現

CSS 3.0 とビデオを組み合わせて実現したクリエイティブなオープニングをご紹介します。効果は次の...

Docker+gitlab+jenkins は、ゼロから自動デプロイメントを構築します

目次序文: 1. Dockerをインストールする2. DockerでJenkinsをインストールする...

Linux touch コマンドの使用例

Linux touch コマンドの詳細な説明: 1. コマンド機能:ファイルまたはディレクトリの作成...

実行中のDockerコンテナのポートマッピングを変更する方法

序文docker run がコンテナを作成して実行するときに、-p を使用してポート マッピング ル...

Dockerスペースがいっぱいでコンテナに入れない場合の解決策

トラブル発生が突然で、業務も迫っていたため、現場のスクリーンショットを撮る時間がありませんでしたので...

ダイナミックな波効果を実現するSVG+CSS3

ベクトル波 <svg viewBox="0 0 560 20" class...

スーパーバイザーを使用して nginx + tomcat コンテナを管理する例

必要: docker を使用して nginx + tomcat デュアル プロセスを起動します。実際...

Dockerで最もよく使われるイメージコマンドとコンテナコマンドの詳細な説明

この記事では、Docker の使用で最もよく使用されるイメージ コマンドとコンテナ コマンドを一覧表...