2012-06-01 5 views
0

У меня возникли проблемы с развертыванием приложения rails для VPS с использованием capistrano. Я запускаю ubuntu 10.04, rvm, rails 3.2.2 и ruby ​​1.9.2, nginx и пассажир.Развертывание Rails-приложения с Capistrano - Нет ответа

Я попытался использовать тестовое приложение без проблем, а затем попытался сделать все с помощью обычного приложения почти так же, как и сейчас, и теперь у меня возникают проблемы. Я запустил развертывание крышки: 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 

EDIT 2: Не знаю, почему, но я понял, что могу получить доступ к активам в общей папке моего приложения. Что это значит!?

ответ

0

Вы сконфигурировали Nginx правильно? Корень виртуального хоста должен указывать на общую папку приложения Ruby on Rails. Может помочь документация по использованию Nginx with Phusion passenger. Попробуйте изучить файлы журнала Nginx, access.log и error.log, вероятно, они могут быть найдены в /var/log/nginx.

+0

Корень виртуального хоста определенно указывает на открытый корень приложения. Я могу легко переключить app_name на тестовое приложение, которое я развернул, и он отлично работает, поэтому это настолько запутывает. – user839924

+0

Журналы nginx также не показывают много. Я добавлю их в свой первоначальный пост. – user839924

Смежные вопросы