nginx で複数のフロントエンド プロジェクトをデプロイするいくつかの方法

nginx で複数のフロントエンド プロジェクトをデプロイするいくつかの方法

nginx を使用して 1 つのサーバーに複数のフロントエンド プロジェクトをデプロイする 3 つの方法をまとめました。

  • ドメイン名ベースの構成
  • ポートベースの構成
  • 場所の設定に基づいて

始める前に、nginxインストールのデフォルト設定ファイルを見てみましょう: /etc/nginx/nginx.confファイル

図からわかるように、 include /usr/nginx/modules/*.conf 、この文の目的は、nginx の起動時に /usr/nginx/modules/ ディレクトリ内のすべての *.conf ファイルをロードすることです。 したがって、管理の便宜上、このディレクトリの下に独自の xx.conf ファイルを定義することができます。ただし、.conf で終わる必要があることに注意してください。

前置きはここまでにして、多くの企業がオンラインで使用している最も一般的な方法についてお話ししましょう。

ドメイン名ベースの構成

ドメイン名の設定に基づいて、まずドメイン名の解決が設定されていることが前提となります。たとえば、www.fly.com というドメイン名を購入したとします。 次に、バックグラウンドで 2 つの第 2 レベル ドメイン名 (a.fly.com と b.fly.com) を構成しました。

設定ファイルは次のとおりです。

a.fly.com の設定ファイルを設定します。

vim /usr/nginx/modules/a.conf

サーバー{
        聞く 80;
        サーバー名 a.fly.com;
        
        位置 / { 
                ルート /data/web-a/dist;
                インデックス index.html;
        }
}

b.fly.com の設定ファイルを設定します。

vim /usr/nginx/modules/b.conf

サーバー{
        聞く 80;
        サーバー名 b.fly.com;
        
        位置 / { 
                ルート /data/web-b/dist;
                インデックス index.html;
        }
}

この方法の利点は、ホストがポート 80 を開くだけで済むことです。その後、第 2 レベルのドメイン名に直接アクセスすることでアクセスできるようになります。

ポートベースの構成

設定ファイルは次のとおりです。

a.fly.com の設定ファイルを設定します。

vim /usr/nginx/modules/a.conf

サーバー{
        8000を聴く;
        
        位置 / { 
                ルート /data/web-a/dist;
                インデックス index.html;
        }
}

# nginx ポート 80 の設定 (セカンダリドメイン名 a をリッスン)
サーバー{
        聞く 80;
        サーバー名 a.fly.com;
        
        位置 / {
                proxy_pass http://localhost:8000; #転送}
}

b.fly.com の設定ファイルを設定します。

vim /usr/nginx/modules/b.conf

サーバー{
        8001を聴く;
        
        位置 / { 
                ルート /data/web-b/dist;
                インデックス index.html;
        }
}

# nginx ポート 80 の設定 (b セカンダリドメイン名をリッスン)
サーバー{
        聞く 80;
        サーバー名 b.fly.com;
        
        位置 / {
                proxy_pass http://localhost:8001; #転送}
}

ご覧のとおり、この方法では合計 4 台のサーバーが起動し、構成は最初の方法よりもはるかに複雑になるため、お勧めできません。

場所の設定に基づいて

設定ファイルは次のとおりです。

a.fly.com の設定ファイルを設定します。

vim /usr/nginx/modules/ab.conf

サーバー{
        聞く 80;
        
        位置 / { 
                ルート /data/web-a/dist;
                インデックス index.html;
        }
        
        場所 /web-b { 
                エイリアス /data/web-b/dist;
                インデックス index.html;
        }
}

注: このように構成すると、場所/ディレクトリがルートになり、その他はエイリアスを使用する必要があります。

ご覧のとおり、この方法の利点は、サーバーが 1 つだけであり、セカンダリ ドメイン名を構成する必要がないことです。二級目錄はフロントエンドプロジェクトで設定する必要があります

React の設定については、https://blog.csdn.net/mollerlala/article/details/96427751 を参照してください。

vue の設定については、https://blog.csdn.net/weixin_33868027/article/details/92139392 を参照してください。

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

以下もご興味があるかもしれません:
  • フロントエンドに必要なNginx設定の詳細な説明
  • Nginx を使用してフロントエンドのクロスドメイン問題を解決する方法
  • フロントエンド開発のための Nginx 構成 (シナリオ)
  • $remote_addr に基づく nginx フロントエンド配布方法の詳細な説明
  • Nginx がフロントエンド リソースへのクロスドメイン アクセスの問題をどのように解決するかの詳細な説明
  • フロントエンドでnginxが何ができるかの詳細な説明

<<:  MySQL の最適化: 高品質の SQL 文を書く方法

>>:  セマンティック HTML タグの紹介

推薦する

js を使用して数字推測ゲームを実装する

先週、先生が私に数字当てゲームをするちょっとした宿題を出しました。とても面白いと思ったので、適当に書...

VMware 仮想マシンに Centos7.3 をインストールするチュートリアル図

VMware の準備 CentOS の準備、こちらは CentOS 7.3 CentOS-7-x86...

MySQLの構文、特殊記号、正規表現の詳細な説明

Mysql でよく使用される表示コマンド1. 現在のデータベース サーバー内のデータベースの一覧を表...

HTMLにおける絶対パスと相対パスの違いの分析

図に示すように: 1 つのページには多数のファイルが接続されているため、ファイルを参照するときには、...

ビューポートの基本原理と詳細な使用方法

1. ビューポートの概要モバイル ブラウザは通常、画面よりも幅の広い仮想ウィンドウにページをレンダリ...

ウォーターフォールフローレイアウトを実装する3つの方法

序文今日、Xianyuを閲覧していたとき、各行の高さが同じではないことに気付きました。調べてみると、...

MySQL 実行ステータスの表示と分析

MySQL のパフォーマンスに問題があると思われる場合は、通常、まずshow processlist...

Vue Element フロントエンドアプリケーション開発のための従来の JS 処理機能

目次1. 従来のコレクションに対するフィルター、マップ、および削減処理方法2. 再帰処理3. for...

jsオブジェクトの読み取り速度の詳細な例

1. リテラルとローカル変数へのアクセスは最も高速ですが、配列要素とオブジェクト メンバーへのアクセ...

MySQLバイナリログを介してデータベースデータを復元する方法の詳細な説明

ウェブサイト管理者は、さまざまな理由や操作により、ウェブサイトのデータを誤って削除したり、ウェブサイ...

スライダー検証コードを実装するJavaScript

この記事では、スライダー検証コードを実装するためのJavaScriptの具体的なコードを参考までに共...

Linux (Ubuntu) での MySQL 5.6.28 のインストールと設定のチュートリアル

mysql5.6.28のインストールと設定方法1. 基本的なシステム情報を確認し、yumでインストー...

パーソナライズされたクリエイティブなウェブサイトデザインの例 (30)

そこで、個性的なスタジオやフリーランスを表現する組み合わせを 30 個選びました。デザインを目立たせ...

よくある HTML タグの記述エラー

HTML Police がコードを調べて意味のないタグをすべて見つけ出すので、注意を払う必要がありま...

MySQL 8.0.18 はクローンプラグインを使用して MGR 実装を再構築します

3 ノード MGR 内の 1 つのノードに異常があり、MGR クラスターに再度追加する必要があるとし...