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 解凍版インストールガイド

推薦する

Windows Server 2008 R2 に MySQL 5.7.10 をインストールする手順

MSIインストールパッケージを使用してインストールするご使用のオペレーティング システムに応じて、対...

検索ナビゲーションバー付きの CSS サンプルコード

この記事では、CSS を使用して検索機能付きのナビゲーション バーを作成する方法を説明します。以下の...

Nginx を使用して https ルートドメイン名への 301 リダイレクトを実装するためのサンプル コード

SEO とセキュリティを考慮して、301 リダイレクトが必要です。以下の一般的な処理には Nginx...

JSONP クロスドメインシミュレーション Baidu 検索

目次1. JSONPとは何か2. JSONPクロスドメインリクエスト3. Baidu検索をシミュレー...

実務経験7年のフロントエンドスーパーバイザーによる経験共有

今日はベテランの貴重な経験を共有します。著者は技術管理の経験が7年あり、多い時は80人以上を率いてい...

Chrome、Firefox、IEで入力カーソルの位置がずれる問題の解決方法

ブラウザで入力カーソルがずれる問題の詳しい説明<br />仕事で問題に遭遇し、解決策を探...

Nginx をベースに特定の IP への短期アクセス数を制限する

特定の期間内に特定の IP へのアクセス回数を制限する方法は、特に悪意のある DDOS 攻撃に直面し...

MySQL 8.0.17 winx64 (Navicat 付き) 手動構成バージョンのインストール チュートリアル図

1. ダウンロードアドレス: mysql-8.0.17-winx64ダウンロードして解凍する2. フ...

MySQL 10進数符号なし更新負数を0に変換

今日、インターフェースの同時実行の問題を検証したところ、これまでredisで解決していた同時実行のプ...

CSS3 画像の境界線を学ぶのに役立つ記事

CSS3 border-image プロパティを使用すると、要素の周囲に画像の境界線を設定できます。...

Vue は Echarts をインポートして折れ線グラフを実現します

この記事では、VueでEchartsをインポートして線散布図を実現する具体的なコードを参考までに共有...

Vue が配列の変更を監視できない問題の解決方法

目次1. Vueリスナー配列2. vueが配列の変更を監視できない状況1. Vueリスナー配列Vue...

JS の精度外数値問題の解決

精度の問題に対する最もわかりやすい説明たとえば、1÷3=0.33333333...という数字は、3が...

Nginx 最適化サービスで Web ページ圧縮を実装する方法

リソースを節約するためにWebページの圧縮を設定する1.まず、設定を変更しましょう vim /usr...