1. Vueプロジェクトのパッケージ化 開発されたvueプロジェクトに次の名前を入力し、パッケージ化してdistフォルダを生成します。 糸ビルド / npm 実行ビルド この時点で、ルート ディレクトリに追加のフォルダー (公開したい内容が含まれる dist フォルダー) が作成されます。 dist ディレクトリ全体をサーバーに転送し、静的リソース サイトとしてデプロイすると、プロジェクトに直接アクセスできます。 2. nginxイメージを取得する nginx は、高性能な HTTP およびリバース プロキシ サーバーです。ここでは、nginx イメージをベースとして使用して、vue アプリケーション イメージを構築します。 ターミナルに次のように入力します: docker プル nginx nginx イメージを取得できます。 Docker イメージは、コンテナの実行に必要なプログラム、ライブラリ、リソース、構成、およびその他のファイルを提供するだけでなく、実行時に用意されたいくつかの構成パラメータ (匿名ボリューム、環境変数、ユーザーなど) も含む特別なファイル システムです。 イメージには動的なデータは含まれておらず、作成後にその内容は変更されません。 ターミナルで次のコマンドを入力してnginxイメージを確認します。 dockerイメージls ミラーリングの結果は次のようになります。 3. nginx config設定ファイルを作成する プロジェクトのルートディレクトリにnginxフォルダを作成し、そのフォルダに新しいファイルdefault.confを作成します。 サーバー{ 聞く 80; server_name ローカルホスト; #文字セット koi8-r; access_log /var/log/nginx/host.access.log メイン; error_log /var/log/nginx/error.log エラー; 位置 / { ルート /usr/share/nginx/html; インデックス index.html index.htm; try_files $uri $uri/ /index.html; } #エラーページ 404 /404.html; # サーバーのエラーページを静的ページ /50x.html にリダイレクトします # エラーページ 500 502 503 504 /50x.html; 場所 = /50x.html { ルート /usr/share/nginx/html; } } 注意⚠️: vue-router が履歴モードを使用している場合、 try_files $uri $uri/ /index.html; は非常に重要です。 ! ! 私たちのアプリケーションはシングルページ クライアント アプリケーションであるため、背景が正しく構成されていない場合、ユーザーがブラウザーでアドレスにアクセスしたときに 404 が返されます。 したがって、すべての状況をカバーするには、サーバー側で候補リソースを追加する必要があります。URL がどの静的リソースにも一致しない場合は、同じ index.html ページが返される必要があります。このページは、アプリが依存するページです。 上記のファイルはホームページを /usr/share/nginx/html/index.html として定義しているので、構築した index.html ファイルと関連する静的リソースを後で /usr/share/nginx/html ディレクトリに配置できます。 4. Dockerfileを作成する # nginxからベースイメージを設定する # 著者を定義します MAINTAINER lihui <[email protected]> #distファイルの内容を/usr/share/nginx/html/ディレクトリにコピーします。COPY dist/ /usr/share/nginx/html/ #nginxイメージのデフォルト設定をローカルのdefault.conf設定に置き換えます。COPY nginx/default.conf /etc/nginx/conf.d/default.conf 5. Dockerfileに基づいてVueアプリケーションイメージを構築する 次のコマンドを実行し、最後の「.」を忘れないようにしてください。 docker build -t テスト。 -t はイメージに名前を付けるために使用され、test は生成されたイメージの名前であり、. は現在のディレクトリ内の Dockerfile に基づいてイメージを構築するために使用されます。 Vueベースの画像が生成されました! 以上がDockerイメージ+nginxでVueプロジェクトをデプロイする方法の詳細な内容です。VueプロジェクトのDockerデプロイの詳細については、123WORDPRESS.COMの他の関連記事に注目してください。 以下もご興味があるかもしれません:
|
<<: Vue カプセル化に基づくプルダウン更新およびプルアップ読み込みコンポーネント
>>: MySQL 8.0 の非表示インデックスの詳細な説明
目次序文1. Iceraven ブラウザ (Firefox) (Android) 2. (アンドロイ...
目次1. 指令とは何ですか? Vue でよく使われる組み込みの v ディレクティブv-if と v-...
この記事では、天気予報機能を実現するためのVueの具体的なコードを参考までに共有します。具体的な内容...
1. jdkダウンロードアドレスをダウンロードする我下載的是jdk-8u221-linux-x64....
今日は、早速本題に入り、面接中に尋ねられた質問、つまりキープアライブ コンポーネントのキャッシュ原理...
1. Howdyをインストール: howdyプロジェクトアドレス sudo add-apt-repo...
この記事では、1行あたりの固定行数+アダプティブレイアウトを実現するフレックスレイアウトを紹介し、皆...
目次1. テンプレート文字列とは何ですか? 2. 複数行のテンプレート文字列2.1 式付きテンプレー...
1.html <div class="ログインボディ"> <...
idea を使用して JSP ファイルを書き込む前に、jdk 環境 (ここでは説明しません) と対応...
導入私はしばらくの間、postgresql データベースを使用していました。クラウドに移行した後、自...
Union は、重複行を除外し、デフォルトのソートを実行する、データに対する結合操作です。Union...
プロットレビュー前回の記事では、ロケーション命令の解析プロセスを分析しました。この内容を簡単に確認し...
毎日の統計情報を取得するプロジェクトを実行する際、プロジェクト ログを分析する必要があります。要件の...
目次1. 問題2. 解決策1. オブジェクトをanyとして宣言する2. オブジェクトのインターフェー...