Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 部署带有Capistrano的Rails应用程序-无响应_Ruby On Rails_Ruby_Nginx_Passenger_Capistrano - Fatal编程技术网

Ruby on rails 部署带有Capistrano的Rails应用程序-无响应

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,没有任何错误 然而,当我试图访问该网站时,却没有得到任何回应。我也无法访问静态资产。

我在使用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:

# 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日志也没有透露太多信息。我将把它们添加到我的原始帖子中。