1

サイトの展開に関しては、私はまったくの初心者です。この質問のあいまいさを許してください。

ライアン・ベイツのエピソード #337 (https://github.com/railscasts/337-capistrano-recipes) に従って、Rails アプリケーションをデプロイしました。postgresでubuntu 10.04 lts、nginx、unicorn、capistranoを使用しています。

cap deploy 後: cold すべてが正常にビルドされているようです。

しかし、IP にアクセスすると、Rails アプリケーションで次のエラーが表示されます。

We're sorry, but something went wrong.

あまり役に立たないエラー メッセージであることはわかっています。postgresqlを使用してherokuにデプロイしたときに以前に見たことがあるので、データベースに関係していると思います。

Linode サーバーでログ ファイルを確認する方法と、これをデバッグする方法に関する詳細情報を取得する方法がわかりません。

どんなガイダンスも大歓迎です。

よろしくお願いします。

4

2 に答える 2

2

ssh を使用して linode サーバーにログインし、自分でログ ファイルを確認する必要があります。

config/deploy.rbRailscastのファイルからのこの行:

set :deploy_to, "/home/#{user}/apps/#{application}"

アプリが展開された linode サーバー上のディレクトリを示します。そのディレクトリに、という名前のディレクトリが表示されshared/logます。ログがそこにあるはずです。

于 2012-10-14T19:43:44.483 に答える
1

Rails アプリをOpenShiftにデプロイする際にも同様の問題がありました。

私の場合、マニフェストファイルで定義されていないアセットが見つからないためにエラーが発生しました。

assetsで何かをしなければならないことがわかりました。私はそれを掘り下げ始めました.Railsがあなたが探しているアセットを見つけられないときに生成されることがわかりました。 require_tree)。

最初のケースは明らかです。それらをアプリのコードに含めるか、ギアに追加する必要があります。2 番目のケースは、OpenShift が自動的に行うため、問題にはなりません。ただし、これに問題がある場合は、フォーラムでアセットをコンパイルしないことに関する問題を検索してください。

3 番目のケースには 2 つの解決策があります。正しいものと速いものがあります。2つ目については専門家の意見が必要です。環境 application.rb でプリコンパイルする項目のリストにアセット (通常はスタイルシートやサードパーティ ツール) を追加する必要があります。

config.assets.precompile += ['960sm.css']

または、すべてのアセットで普遍的に機能する、私が見つけた簡単な方法:config/environments/production.rb

config.assets.compile = true

そのようにtrueに設定すると、これで問題が解決するはずです。

これが役立つことを願っています。私は同じ問題を2週間掘り下げました。

于 2012-10-14T19:50:56.667 に答える