Ruby on rails 部署带有Capistrano的Rails应用程序-无响应
我在使用capistrano将rails应用程序部署到VPS时遇到一些问题。我正在运行ubuntu 10.04、rvm、rails 3.2.2、ruby 1.9.2、nginx和passenger 我尝试部署一个没有问题的测试应用程序,然后尝试用一个实际应用程序以几乎相同的方式做所有事情,现在我遇到了麻烦。我运行了cap-deploy:setup、cap-deploy:check、cap-deploy:cold,没有任何错误 然而,当我试图访问该网站时,却没有得到任何回应。我也无法访问静态资产。我的nginx.conf文件指向“app\u name/current/public” production.log也没有给出任何提示。除了一些关于资产编译和迁移的信息外,它几乎什么都没有 所以我被难住了。当一切顺利时,我想我做的一切都和测试应用程序一样,但显然我忘了什么。让我知道是否有任何文件我可以张贴,以帮助诊断问题。谢谢你的帮助 my deploy.rb:Ruby on rails 部署带有Capistrano的Rails应用程序-无响应,ruby-on-rails,ruby,nginx,passenger,capistrano,Ruby On Rails,Ruby,Nginx,Passenger,Capistrano,我在使用capistrano将rails应用程序部署到VPS时遇到一些问题。我正在运行ubuntu 10.04、rvm、rails 3.2.2、ruby 1.9.2、nginx和passenger 我尝试部署一个没有问题的测试应用程序,然后尝试用一个实际应用程序以几乎相同的方式做所有事情,现在我遇到了麻烦。我运行了cap-deploy:setup、cap-deploy:check、cap-deploy:cold,没有任何错误 然而,当我试图访问该网站时,却没有得到任何回应。我也无法访问静态资产。
# 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
编辑1
nginx access.log显示了许多这样的功能:
[01/Jun/2012:11:23:11 -0400] "-" 400 0 "-" "-"
而error.log具有以下功能:
cache: [GET /] miss
编辑2:不知道为什么,但我意识到我可以访问应用程序公用文件夹中的资产。这是什么意思 您是否正确配置了Nginx?虚拟主机的根目录必须指向RubyonRails应用程序的公用文件夹。使用的文档可能会有所帮助。尝试检查Nginx日志文件,
access.log
和error.log
,可能可以在/var/log/Nginx
中找到它们虚拟主机根肯定指向应用程序的公共根。我可以很容易地将app_name切换到我部署的测试应用程序,它工作正常,这就是为什么这会让人感到困惑的原因。nginx日志也没有透露太多信息。我将把它们添加到我的原始帖子中。