nginx を使用して 1 つのサーバーに複数のフロントエンド プロジェクトをデプロイする 3 つの方法をまとめました。
始める前に、nginxインストールのデフォルト設定ファイルを見てみましょう: /etc/nginx/nginx.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 をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
<<: MySQL の最適化: 高品質の SQL 文を書く方法
Baiduで検索しました。 。 chcp コマンドを使用して、cmd の文字エンコーディングを 65...
参考までに、ネイティブjsでカルーセル効果(シームレススクロール)を実現しています。具体的な内容は以...
MySQLのマスタースレーブ構成と原理、参考までに具体的な内容は以下のとおりです。 1. 環境の選択...
以下のデモはMySQLバージョン5.7.27に基づいています。 1. MySQLサブクエリ最適化戦略...
Dockerfile は、命令を含むテキスト ファイルです。各命令はレイヤーを構築するため、各命令の...
このチュートリアルでは、LinuxでのMySQL 5.6.33のインストールと設定方法を参考までに紹...
1. ローカルマシンを監視するためにZabbixエージェントをインストールするエージェントソフトウェ...
目次序文1. 何ですか2. Node.jsでEventEmitterを使用する方法3. 実施プロセス...
Linux 上の LibreOffice で Microsoft ドキュメントを開くと、フォントが少...
序文注: テストデータベースのバージョンはMySQL 8.0ですテーブルを作成し、ユーザー scot...
META タグは、HTML 言語のヘッダー領域にある補助タグです。作成者、日時、Web ページの説明...
製品デザインのプロセスにおいて、デザイナーは常に写真を非常に美しくすることを好みます。仮想ページのコ...
この記事の目的は、これらの概念とその機能の関係を明らかにすることです。 Mysql がトランザクショ...
この記事では、省、市、地区の3段階選択を実現するためのjsの具体的なコードを紹介します。具体的な内容...
前回の投稿では、Web ページの作成方法について説明しました。Web サイトは多くの Web ページ...