web-dev-qa-db-ja.com

nginx /乗客からの「アプリケーションから受信した不完全な応答」

Railsアプリを、ページのチュートリアルのようにcapistrano経由でnginxとubuntuにデプロイしようとしました https://gorails.com/deploy/ubuntu/14.04 。しかし、最後にエラーメッセージが表示されます:

Incomplete response received from application

私のブラウザで。これはおそらく乗客からのエラーですが、どうすればよいですか?

65
juicy

Rails_envプロダクションのセットアップは必要ありません。おそらくsecret_key_baseがありません。

/etc/nginx/sites-available/defaultを開き、Rails_envをdevelopmentに変更します。

Rails_env production;
        to
Rails_env development;

アプリが読み込まれている場合、乗客の問題ではありません。

生産ソリューション:

  1. アプリのルートを入力してください
  2. 実行:rake secret
  3. 出力をコピーする
  4. /yourapp/config/secrets.ymlに移動します
  5. プロダクションsecret_key_baseを設定します

パッセンジャーアプリを再起動します。

touch /yourapp/tmp/restart.txt
123

このエラーは、secret_key_baseを設定しなかったために発生します。次の手順に従って修正してください。

Rails appディレクトリに移動します

cd /path/Rails-app

秘密鍵ベースを生成する

rake secret Rails_ENV=production

環境変数を設定する

SECRET_KEY_BASE=<the-secret-key-base>

Railsアプリを再起動します

touch /path/Rails-app/tmp/restart.txt
24
Hoa Hoang

Passengerを使用している場合:

•プロジェクトのルートに移動します。

bundle exec rake secret Rails_ENV=productionを実行します

•出力をコピーして、Sudo nano config/secrets.ymlを実行します

productionの下で、secret_key_baseの値を最近コピーしたレーキシークレットに置き換えます。

CNTRL+Xを押してからyを押し、enterを押します。

passenger-config restart-appを実行し、再起動するアプリを選択します。

https://www.phusionpassenger.com/library/admin/Apache/restart_app.html

5
Ctpelnar1988

週末にこの問題が発生しました(私のバージョンのパッセンジャーとRubyには互換性がないことが判明しました)。

ただし、誰も言及していないようです:実際のエラーは、カスタムログではなく、/ var/log/Apache2/errors.logに表示される可能性があります

それが分かったら、検索がもっと簡単になることを願っています!


更新します。これを再度参照する必要があるためです-これはnginxにも当てはまります-/var/log/nginx/error.logはあなたの友人です!

5
user208769

私の場合、サーバーがRAMを断続的に(PDF生成中に)実行しているためでした。 PDFが生成されると、いくつかのRAMが復元され、エラーが消えます。

500MのRAMを搭載したubuntuサーバーがありました。

I スワップスペースを追加 すると、このエラーは消えました。

4
mridula

これは、Railsアプリ自体が実際にRailsに到達する前にタンクに入れられたことを意味します。これは、ミドルウェアの例外、ENVキーの欠落、OSレベルの何かなどが考えられます。

最初にアプリをローカルで起動し、本番環境でエラーを取得するために行ったことを実行してみてください。すべてが正常な場合は、すべてのログを確認してください。 nginxログ、パッセンジャーログ、および最後にアプリの起動と実行に関するその他のOS固有のログを確認します。

1
jeremywoertink

私の答えはトピックから外れているかもしれませんが、データベースmysqlサーバーが実行されていない場合、このエラーも発生しました。誰かが同じエラーを持っている場合に備えて。

だからstart/restartあなたのデータベースは別の答えかもしれません。

0
William Hu

ファイルをアップロードした後にこのエラーが発生した私のような人はいますか?

私の解決策は、`[(〜

削除してからファイルを再度アップロードしてください。

がんばって〜

0
fanjieqi