Railsアプリを、ページのチュートリアルのようにcapistrano経由でnginxとubuntuにデプロイしようとしました https://gorails.com/deploy/ubuntu/14.04 。しかし、最後にエラーメッセージが表示されます:
Incomplete response received from application
私のブラウザで。これはおそらく乗客からのエラーですが、どうすればよいですか?
Rails_envプロダクションのセットアップは必要ありません。おそらくsecret_key_baseがありません。
/etc/nginx/sites-available/default
を開き、Rails_envをdevelopmentに変更します。
Rails_env production;
to
Rails_env development;
アプリが読み込まれている場合、乗客の問題ではありません。
生産ソリューション:
rake secret
/yourapp/config/secrets.yml
に移動しますsecret_key_base
を設定しますパッセンジャーアプリを再起動します。
touch /yourapp/tmp/restart.txt
このエラーは、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
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
週末にこの問題が発生しました(私のバージョンのパッセンジャーとRubyには互換性がないことが判明しました)。
ただし、誰も言及していないようです:実際のエラーは、カスタムログではなく、/ var/log/Apache2/errors.logに表示される可能性があります。
それが分かったら、検索がもっと簡単になることを願っています!
更新します。これを再度参照する必要があるためです-これはnginxにも当てはまります-/var/log/nginx/error.log
はあなたの友人です!
私の場合、サーバーがRAMを断続的に(PDF生成中に)実行しているためでした。 PDFが生成されると、いくつかのRAMが復元され、エラーが消えます。
500MのRAMを搭載したubuntuサーバーがありました。
I スワップスペースを追加 すると、このエラーは消えました。
これは、Railsアプリ自体が実際にRailsに到達する前にタンクに入れられたことを意味します。これは、ミドルウェアの例外、ENVキーの欠落、OSレベルの何かなどが考えられます。
最初にアプリをローカルで起動し、本番環境でエラーを取得するために行ったことを実行してみてください。すべてが正常な場合は、すべてのログを確認してください。 nginxログ、パッセンジャーログ、および最後にアプリの起動と実行に関するその他のOS固有のログを確認します。
私の答えはトピックから外れているかもしれませんが、データベースmysql
サーバーが実行されていない場合、このエラーも発生しました。誰かが同じエラーを持っている場合に備えて。
だからstart/restart
あなたのデータベースは別の答えかもしれません。
ファイルをアップロードした後にこのエラーが発生した私のような人はいますか?
私の解決策は、`[(〜。
削除してからファイルを再度アップロードしてください。
がんばって〜