0

capistrano を使用して Rails アプリを VPS にデプロイするのに問題があります。ubuntu 10.04、rvm、rails 3.2.2、ruby 1.9.2、nginx、およびパッセンジャーを実行しています。

問題なくテスト アプリをデプロイしてみました。次に、実際のアプリでほぼ同じ方法ですべてを実行しようとしましたが、問題が発生しました。cap deploy:setup、cap deploy:check、cap deploy:cold をエラーなしで実行しました。

しかし、サイトにアクセスしようとしても応答がありません。静的アセットにもアクセスできません。私のnginx.confファイルは「app_name/current/public」を指しています

production.log にもヒントはありません。アセットのコンパイルと移行に関するいくつかの情報を除けば、ほとんど何もありません。

だから私は困惑しています。すべてが順調に進んだとき、テストアプリで行ったのと同じようにすべてを行ったと思っていましたが、明らかに何かを忘れています。問題の診断に役立てるために投稿できるファイルがあれば教えてください。助けてくれてありがとう!

私の deploy.rb:

# RVM

$:.unshift(File.expand_path('./lib', ENV['rvm_path']))
require "rvm/capistrano"
set :rvm_ruby_string, 'default'
set :rvm_type, :user

# Bundler

require "bundler/capistrano"

# General

set :application, "my_app"
set :user, "deploy_user"

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

set :use_sudo, false

set :normalize_asset_timestamps, false

# Git

set :scm, :git
set :repository,  "~/#{application}/.git"
set :branch, "master"

# VPS

role :web, "app_name.com"
role :app, "app_name.com"
role :db,  "app_name.com", :primary => true

# Passenger

namespace :deploy do
 task :start do ; end
 task :stop do ; end
 task :restart, :roles => :app, :except => { :no_release => true } do
   run "#{try_sudo} touch #{File.join(current_path,'tmp','restart.txt')}"
 end
end

EDIT 1 nginx access.log はこれらの多くを示しています:

[01/Jun/2012:11:23:11 -0400] "-" 400 0 "-" "-"

および error.log には次のものがあります。

cache: [GET /] miss

編集 2:理由はわかりませんが、アプリのパブリック フォルダー内のアセットにアクセスできることに気付きました。どういう意味ですか!?

4

1 に答える 1

0

Nginx を正しく構成しましたか? 仮想ホストのルートは、Ruby on Rails アプリケーションの public フォルダーを指している必要があります。Phusion パッセンジャーで Nginx を使用するためのドキュメントが役立つ場合があります。Nginx ログ ファイルを調べてみてくださいaccess.logerror.logおそらく、/var/log/nginx.

于 2012-06-01T09:31:33.840 に答える