5

非常に小さなノード アプリがあり、オンラインにするために Google クラウド デプロイ スイートを試してみたかったのですが、デプロイすると常に 500 サーバー エラーのページが表示されます。

通常、私はより多くの情報やエラーなどを提供しますが、より知識のある人がその情報をどこで探すことができるかを教えてくれることを望んでいました. gcloud ターミナルには何も表示されませんが、一連のメッセージと最後のメッセージgcloud preview app deployだけです。ただし、URL に移動すると、500 サーバー エラーが発生します。preparingpushingdeployed module [default] to ...

Error: Server Error

The server encountered an error and could not complete your request.
Please try again in 30 seconds.

応答ヘッダーを調べてもそれ以上の情報は得られないため、stackdriver/logs を調べましたが、/_ah/backgroundリクエストの兆候のない一連の GET しかありません。

この問題のデバッグをどこから開始できますか? node/express バックエンド、react フロントエンド、webpack ビルダーを備えたノード アプリです。

編集:これはアプリ エンジン ダッシュボードのスクリーンショットです。

私たちのapp.yaml:

runtime: nodejs
vm: true

skip_files:
  - ^(.*/)?.*/node_modules/.*$

私たちのpackage.json:

  "scripts": {
    "test": "karma start",
    "watch": "watch 'npm run test' client/",
    "clean": "rm -rf dist",
    "webpack-prod": "NODE_ENV=production webpack --progress -p",
    "server-prod": "NODE_ENV=production node ./index.js",
    "prestart": "npm run webpack-prod",
    "start": "npm run server-prod",
  },
4

3 に答える 3

3

将来的にgcloud preview app logs readは、プロセスがクラッシュしている理由を示すログをここに取得します (それが問題であると仮定します)。デプロイの一環として、これらのエラーを明らかにする作業を行っています。

于 2016-06-24T16:27:56.710 に答える
3

Node アプリで発生する可能性のある問題の 1 つは、運用ビルドを実行していないことです。Heroku から GCP に移行したところです。Heroku は、React アプリの製品ビルドを自動的に作成してくれました。ログにわかりやすい情報がなく、GCP から 500 エラーが発生していました。この GitHub の問題を見つけて実行npm run buildし、app.yaml ファイルを次のように変更しました。

runtime: nodejs10

handlers:
 - url: /
   static_files: build/index.html
   upload: build/index.html

 - url: /(.*)
   static_files: build/\1
   upload: build/(.*)

そしてそれはトリックをしました。とにかく、app.yaml とビルド プロセスが不可解な 500 エラーの原因の 1 つかもしれないので、これをここに載せておきます。

編集:誤解を招かないように、Reactアプリで複数のルートをサポートしたい場合は、実際にはこのapp.yaml質問のようなファイルが必要です(はい、質問です;それ自体に答えます)。

于 2019-07-06T01:51:30.637 に答える