Nginx に React プロジェクトをデプロイする方法の例

Nginx に React プロジェクトをデプロイする方法の例

テストプロジェクト: react-demo

  1. react-demo プロジェクトをサーバーにクローンします (デフォルトでは Github がプロジェクトの管理に使用されます)
  2. 必要に応じて、node.js、yarn などのプロジェクト環境をインストールしてください。
  3. プロジェクトディレクトリに入り、npm run buildを実行してプロジェクトのビルドを開始します。
  4. ビルドが成功すると、dist フォルダーが生成されます (プロジェクトの構成によって異なります)。このフォルダー内の静的ファイルは、プロジェクトのアクセス ファイルです。
  5. Linux サーバーで Nginx を構成するには、/etc/nginx/sites-enabled に移動し、管理者として react プロジェクト用の新しい構成ファイル (react-demo.conf など) を作成し、ファイルを編集します。
サーバー{
  8080を聴く;
  # server_name your.domain.com;
  ルート /home/root/react-demo/dist;
  インデックス index.html index.htm;
  位置 / {
    try_files $uri $uri/ /index.html;
  }
  場所 ^~ /assets/ {
    gzip_static オン;
    有効期限が最大になります。
    add_header Cache-Control パブリック;
  }
  エラーページ 500 502 503 504 /500.html;
  クライアントの最大ボディサイズは20Mです。
  キープアライブタイムアウト10;
}

sudo service nginx restart を実行して、Nginx サービスを再起動します。

プロジェクトにアクセスするには、http://IP:8080/ にアクセスしてください。

注記:

1.ドメイン名を設定する場合は、ポート80が必要です。成功すると、ドメイン名にアクセスするだけでプロジェクトにアクセスできます。

2. React-Router の browserHistory モードを使用する場合は、Nginx 設定に次の設定を追加してください。

位置 / {
  try_files $uri $uri/ /index.html;
}

原則として、プロジェクトにはルート エントリが 1 つしかないため、/home のような URL を入力してもページは見つかりません。この場合、nginx は index.html を読み込もうとします。index.html を読み込んだ後、react-router が動作し、入力した /home ルートと一致し、正しいホームページが表示されます。browserHistory モードのプロジェクトが上記の内容で構成されていない場合、404 エラーが発生します。

react-router のドキュメントを参照してください:

https://react-guide.github.io/react-router-cn/docs/guides/basics/Histories.html

要約する

以上がこの記事の全内容です。この記事の内容が皆様の勉強や仕事に何らかの参考学習価値をもたらすことを願います。123WORDPRESS.COM をご愛顧いただき、誠にありがとうございます。これについてもっと知りたい場合は、次のリンクをご覧ください。

以下もご興味があるかもしれません:
  • Threejs、Didi公式サイトのホームページに地球アニメーション機能を実現
  • 3DエンジンthreeJSを使用して星の粒子の動きの効果を実現
  • Reactプロジェクトのパッケージアドレス(コンパイル出力ファイルアドレス)を変更する方法の詳細な説明
  • React プロジェクトでの Less のインストールと使用方法の詳細な説明 (使用方法の概要)
  • Reactプロジェクトでアイコンフォントを使用する方法
  • Jenkinsを使用してReactプロジェクトをデプロイする方法
  • React と Threejs を使用して VR パノラマ プロジェクトを作成する詳細なプロセス

<<:  jQueryで劇場の座席選択と予約の効果を実現

>>:  最新バージョンMySQL5.7.19 解凍版インストールガイド

推薦する

CSS3 フィルターを使用して PNG 画像の色を変更するサンプル コード

この方法は、CSS3のdrop-shadow filterを使用して、png画像の不透明部分に任意の...

ドメイン名、ポート、異なるIPに基づくnginx仮想ホスト設定の実装

1. nginx仮想ホストの設定仮想ホストを使用すると、実行する Web サイトごとに個別の Ngi...

Docker コンテナのカスタム ホストのネットワーク アクセス操作

docker-compose.yml に extra_hosts キーワードを追加すると、コンテナの...

Vueはユーザー名が使用可能かどうかの検証を実装します

この記事では、ユーザー名が使用可能かどうかを確認するためのVueの具体的なコードを例として紹介します...

MySQL インデックス カバレッジの例の分析

この記事では、MySQL インデックス カバレッジについて例を挙げて説明します。ご参考までに、詳細は...

vsFTP 3.0.3 のコンパイルとインストールの詳細な分析

脆弱性の詳細VSFTP は、GPL に基づいてリリースされた Unix ライクなシステムで使用される...

クラウドネイティブテクノロジー Kubernetes (K8S) の紹介

目次01 Kubernetes とは何ですか? 02 KubernetesとCompost+Swar...

MySQL パスワードは正しいが、ローカルにログインできない -1045

MySQLパスワードは正しいが、ローカルでログインできない -1045 ユーザー 'roo...

Nginxはhttpリクエスト実装プロセス分析を処理する

Nginxはまず、設定ファイル内のどのserver{}ブロックを処理に使用するかを決定します。次のs...

W3C標準に準拠したHTML標準で注意すべき点を詳細に解説

XML/HTML コードコンテンツをクリップボードにコピー<!DOCTYPE html PUB...

mysql5.6.8 ソースコードのインストールプロセス

カーネル: [root@opop ~]# cat /etc/centos-release CentO...

JS関数の呼び出し、適用、バインドの超詳細な方法

目次JS 関数呼び出し、適用、バインドメソッド1. call() メソッド1. call() メソッ...

JavaScript Proxyオブジェクトの詳細な説明

目次1. プロキシとは何ですか? 2. 使い方は? 1. プロキシを使用する簡単な例2. 対象オブジ...

Vue3 ミックスインの使い方

目次1. mixin の使い方は? 2. ミックスイン使用時の注意2.1. ミックスイン オブジェク...