NginxにCreate-React-Appをデプロイする

Kwhitejr:

create-react-appUbuntu 14.04とNginxを使用してSPAをDigital Oceanドロップレットに配置しようとしています。静的サーバーの展開手順に従って、実行時に機能させることができますserve -s build -p 4000が、ターミナルを閉じるとすぐにアプリがダウンします。それから、私には明らかではないcreate-react-appようなものに似て、永遠に実行し、それを維持するためにどのようにレポのreadme 永遠に

を実行しないserveと、Nginxの502 Bad Gatewayエラーが発生します。

Nginx会議

server {
  listen 80;
  server_name app.mydomain.com;
  root /srv/app-name;
  index index.html index.htm index.js;
  access_log /var/log/nginx/node-app.access.log;
  error_log /var/log/nginx/node-app.error.log;
  location ~* ^.+\.(jpg|jpeg|gif|png|ico|css|zip|tgz|gz|rar|bz2|pdf|txt|tar|wav|bmp|rtf|js|flv|swf|html|htm|svg)$ {
    root   /srv/app-name/build;
  }
  location / {
    proxy_pass http://127.0.0.1:4000;
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection 'upgrade';
    proxy_set_header Access-Control-Allow-Origin *;
    proxy_set_header Host $host;
    proxy_cache_bypass $http_upgrade;
  }
}
davidjb:

React(およびCreate React App)の主な利点の1つは、ノードサーバーを実行する(またはNginxでプロキシする)オーバーヘッドが必要ないことです。静的ファイルを直接提供できます。

リンクしDeploymentドキュメントから、Create React Appは何をすべきかを説明しています:

npm run buildbuildアプリの製品ビルドを含むディレクトリを作成します。お気に入りのHTTPサーバーをセットアップして、サイトへの訪問者にサービスを提供しindex.html、静的パスへのリクエストにファイルの/static/js/main.<hash>.jsコンテンツを提供するようにし/static/js/main.<hash>.jsます。

あなたのケースでは、実行npm run buildしてbuild/ディレクトリを作成し、次にNginxがアクセスできる場所でファイルを利用できるようにします。ビルドはおそらくローカルマシンで行うのが最善であり、ファイルをサーバーに(SCP、SFTPなどを介して)安全にコピーできます。サーバー上で実行することもできnpm run buildますが、その場合は、build/次にビルドを実行するときにディレクトリを直接提供するという誘惑に負けず、ビルド中にクライアントが一貫性のないリソースセットを受け取る可能性があります。

どちらのビルド方法を選択する場合でも、build/ディレクトリがサーバー上にある場合は、その権限をチェックして、Nginxがファイルを読み取り、次のnginx.confように構成できることを確認します

server {
  listen 80;
  server_name app.mydomain.com;
  root /srv/app-name;
  index index.html;
  # Other config you desire (TLS, logging, etc)...
  location / {
    try_files $uri /index.html;
  }
}

この構成は、にあるファイルに基づいています/srv/app-nameつまり、try_filesディレクティブは最初にCSS / JS / imagesなどをロードしようとし、他のすべてのURIについては、index.htmlビルドにファイルをロードして、アプリを表示します。

注:ポート80で安全でないHTTPを使用するのではなく、HTTPS / SSLを使用してデプロイする必要があります。証明書を取得するコストまたはプロセスが他の方法で妨げられる場合、Certbotは無料のLet's Encrypt証明書を使用してNginxに自動HTTPSを提供します。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

create-react-appをGoogleCloudにデプロイする方法

分類Dev

AWSEC2にcreate-react-appをデプロイする方法

分類Dev

Google AppEngineにcreate-react-appをデプロイする

分類Dev

create-react-appを使用してAzureにデプロイする

分類Dev

Reactアプリ(create-react-app)をBack4Appにデプロイする方法は?

分類Dev

nginxでcreate-react-appビルドフォルダーをデプロイするとページが空になりますか?

分類Dev

create-react-appを使用したgithubページのデプロイに関するReact-routerの問題

分類Dev

`gh-pages`を使用してgithubに` create-react-app`をデプロイする際の問題

分類Dev

create-react-appビルドをLAMP / XAMPP / WAMPにデプロイします

分類Dev

create-react-appをgh-pagesサブフォルダーにデプロイする方法は?

分類Dev

NginxとDockerでReactとDjangoをデプロイする

分類Dev

HerokuにDjangoAPI + Reactアプリをデプロイする

分類Dev

Heroku に React アプリをデプロイする

分類Dev

私のreactアプリをgithubにデプロイする

分類Dev

create-react-appのデプロイ

分類Dev

Passenger / Nginxを介してDjango / React / WebpackアプリをDigitalOceanにデプロイする方法

分類Dev

Azureパイプラインを使用してcreate-react-appをデプロイします

分類Dev

GithubPagesに新しいcreate-react-appをデプロイできません

分類Dev

AWSにReact + Expressをデプロイする

分類Dev

カスタムバックエンドAPIを使用して「create-react-app」をHerokuにデプロイする方法

分類Dev

create-react-appプロジェクトのルートにあるWeb.configファイルを取得してビルドフォルダーにコピーし、アーカイブおよびデプロイする方法

分類Dev

Apache WebサーバーにReactアプリをデプロイする方法

分類Dev

AWSS3にreact-reduxアプリをデプロイする

分類Dev

ReactアプリをApacheサーバーにデプロイする

分類Dev

AzureにReactアプリケーションをデプロイする

分類Dev

create-react-appビルドをGoogleCloudPlatformにデプロイした後にURLが見つかりません

分類Dev

Reactスターターキット(Kriasoft製)をHerokuにデプロイする

分類Dev

React-NativeiOSアプリを実際のデバイスにバンドルしてデプロイする方法

分類Dev

NetlifyにReactアプリをデプロイできますか?

Related 関連記事

  1. 1

    create-react-appをGoogleCloudにデプロイする方法

  2. 2

    AWSEC2にcreate-react-appをデプロイする方法

  3. 3

    Google AppEngineにcreate-react-appをデプロイする

  4. 4

    create-react-appを使用してAzureにデプロイする

  5. 5

    Reactアプリ(create-react-app)をBack4Appにデプロイする方法は?

  6. 6

    nginxでcreate-react-appビルドフォルダーをデプロイするとページが空になりますか?

  7. 7

    create-react-appを使用したgithubページのデプロイに関するReact-routerの問題

  8. 8

    `gh-pages`を使用してgithubに` create-react-app`をデプロイする際の問題

  9. 9

    create-react-appビルドをLAMP / XAMPP / WAMPにデプロイします

  10. 10

    create-react-appをgh-pagesサブフォルダーにデプロイする方法は?

  11. 11

    NginxとDockerでReactとDjangoをデプロイする

  12. 12

    HerokuにDjangoAPI + Reactアプリをデプロイする

  13. 13

    Heroku に React アプリをデプロイする

  14. 14

    私のreactアプリをgithubにデプロイする

  15. 15

    create-react-appのデプロイ

  16. 16

    Passenger / Nginxを介してDjango / React / WebpackアプリをDigitalOceanにデプロイする方法

  17. 17

    Azureパイプラインを使用してcreate-react-appをデプロイします

  18. 18

    GithubPagesに新しいcreate-react-appをデプロイできません

  19. 19

    AWSにReact + Expressをデプロイする

  20. 20

    カスタムバックエンドAPIを使用して「create-react-app」をHerokuにデプロイする方法

  21. 21

    create-react-appプロジェクトのルートにあるWeb.configファイルを取得してビルドフォルダーにコピーし、アーカイブおよびデプロイする方法

  22. 22

    Apache WebサーバーにReactアプリをデプロイする方法

  23. 23

    AWSS3にreact-reduxアプリをデプロイする

  24. 24

    ReactアプリをApacheサーバーにデプロイする

  25. 25

    AzureにReactアプリケーションをデプロイする

  26. 26

    create-react-appビルドをGoogleCloudPlatformにデプロイした後にURLが見つかりません

  27. 27

    Reactスターターキット(Kriasoft製)をHerokuにデプロイする

  28. 28

    React-NativeiOSアプリを実際のデバイスにバンドルしてデプロイする方法

  29. 29

    NetlifyにReactアプリをデプロイできますか?

ホットタグ

アーカイブ