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サービスを削除する具体的な方法

MySQLは次のエラーを表示します「コントロール パネル -> 管理ツール -> サービ...

将来人気が出るであろういくつかのナビゲーション方向

<br />今は情報爆発の時代であるだけでなく、サービス爆発の時代でもあります。それはす...

Linuxコマンドに基づいてフォルダー内の特定のファイルパスを抽出します

最近では、特定のフォルダ内の特定のファイルを自動的に検索する必要があり、ファイルパスとファイル名を別...

純粋な CSS ヘッダーの実装コードを修正

純粋な CSS で固定ヘッダーを実装するのが難しい主な理由は 2 つあります。まず、最大のシェアを持...

Linux で Grafana をインストールし、InfluxDB モニタリングを追加する方法

Grafana をインストールします。公式 Web サイトでは、直接インストールできる Ubuntu...

nginx がアップストリーム アドレスにジャンプしない問題の解決方法

序文今日、nginx で非常に奇妙な問題に遭遇しました。フロントエンドの tomcat がページにジ...

CSS スタイルを HTML 外部スタイルシートにインポートする方法

リンクインスタイルとは、すべてのスタイルを 1 つ以上の外部スタイルシート ファイルに配置することで...

MySQL の 10 進数データ型の小数点埋め込み問題の詳細な説明

序文開発プロセスでは、10 進データ型がよく使用されます。 MySQL では、小数点は正確なデータ型...

Windows 7 の mysql6.x で中国語の文字化けが発生する問題に対する完璧な解決策

1. コマンドラインでMySQLサービスを停止します: net stop mysql stop my...

HTML4.0 要素のデフォルトスタイルの配置

コードをコピーコードは次のとおりです。 html、アドレス、引用ブロック、本文、dd、div、 dl...

ページネーションの例とベストプラクティス

<br />構造と階層により複雑さが軽減され、読みやすさが向上します。記事やサイトが整理...

vue-cli を使用してプロジェクトを作成し、webpack でパッケージ化する方法

1. 環境を準備する(Node.jsをダウンロードし、環境変数を設定する) 2. vue-cliをグ...

jQueryは検証コード送信のコントロールボタンを無効にする機能を実装します

必要な効果: 確認コードを送信するためにクリックした後、ボタンは無効になり、5 秒後に無効解除されま...

複数クリックを防ぐVueの実践

通常、クリック イベントは、メッセージ リマインダーのさまざまな状況に分割されます。これらが処理され...

MySQL のあまり知られていないソート方法

序文ORDER BY 字段名升序/降序、このソートステートメントは皆さんご存知だと思いますが、特殊な...