1

Apache と Phusion Passenger を備えた開発用 VPS Ubuntu サーバーで実行されている Rails アプリがあります。アプリが完璧に動作しているローカルマシンでアプリを開発しました。アプリをデプロイし、すべてのバンドル インストールを実行し、ローカル マシンと同じ gem、rails、rvm、および rake バージョンを実行し、データベース (SQLite) を正常に移行しました。

しかし、開発環境でも実行されている私の VPS では、すべてのルートが 500 エラーを返しています。2日間グーグルで検索しましたが、起動して実行できません。私の開発ログは次の 1 行のみを返します。

Connecting to database specified by database.yml

これは正しく設定された私のdatabase.ymlで、db/development.sqlite3もVPSサーバーに存在します。

development:
  adapter: sqlite3
  database: db/development.sqlite3
  pool: 5
  timeout: 5000

私は今何をすべきか必死です。sqlite をインストールしましたが、すべてローカル マシンと同じ宝石です..ここで何が欠けていますか?

4

2 に答える 2

0

コメントから、レールコンソールを実行できるため、これはnginx構成の問題であると推測できます。

nginxでユニコーンを使用していると仮定すると、nginxとユニコーンのソケットが一致していることを確認してください

つまり、nginx.conf アップストリーム セクションで

server unix:/tmp/unicorn.mobile.sock

unicorn.rb リスニング ソケットに一致

listen "/tmp/unicorn.mobile.sock"

明らかに、ソケット名/パスをサーバーの適切な設定に置き換えますが、ソケットが同じでない場合、nginx はユニコーンと通信できず、Rails アプリは起動されず、nginx は 500 エラーを返します。

于 2013-08-11T03:05:07.333 に答える