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 也没有给出任何提示。除了有关资产编译和迁移的一些信息之外,它几乎没有任何信息。

所以我很难过。当一切顺利时,我认为我所做的一切都与测试应用程序相同,但显然我忘记了一些事情。让我知道是否可以发布任何文件来帮助诊断问题。感谢帮助!

我的部署.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:不知道为什么,但我意识到我可以访问应用程序公用文件夹中的资产。这是什么意思!?

4

1 回答 1

0

你是否正确配置了 Nginx?虚拟主机的根目录必须指向 Ruby on Rails 应用程序的公用文件夹。将Nginx 与 Phusion 乘客一起使用的文档可能会有所帮助。尝试检查 Nginx 日志文件,access.log并且error.log,可能它们可以在/var/log/nginx.

于 2012-06-01T09:31:33.840 回答