我将Capistrano用于我的rails项目到nginx服务器。我的项目在我的开发机器中完美运行,但在生产服务器中,浏览器显示“错误500”。我尝试了$ nano log / production.log 来查看错误,我得到了它,但我删除了这个文件,现在,服务器说同样的错误,但我没有在 production.log ,现在它没有显示任何错误。
我的deploy.rb
require "bundler/capistrano"
require 'new_relic/recipes'
load "config/recipes/base"
load "config/recipes/nginx"
load "config/recipes/nodejs"
load "config/recipes/unicorn"
load "config/recipes/postgresql"
load "config/recipes/rbenv"
load "config/recipes/monit"
load "config/recipes/check"
load "config/recipes/newrelic"
server "rails.supera.com.br", :web, :app, :db, primary: true
# server "vagrant.dev", :web, :app, :db # Maquina virtual
# server '54.232.212.216', :web, :app, :db, primary: true # Amazon server
set :user, "deployer"
set :application, "webapp"
set :deploy_to, "/home/#{user}/rails_apps/#{application}"
set :deploy_via, :remote_cache
set :use_sudo, false
set :scm, "git"
set :repository, "git@bitbucket.org:nicoskaralis/wt_#{application}.git"
set :branch, "dev"
default_run_options[:pty] = true
ssh_options[:forward_agent] = true
after "deploy", "deploy:cleanup" # keep only the last 5 releases
# Opções avançadas rbenv
set :default_environment, {
'PATH' => "$HOME/.rbenv/shims:$HOME/.rbenv/bin:$PATH"
}
set :bundle_flags, "--deployment --quiet --binstubs --shebang ruby-local-exec"
# Debug rake
# set :rake, "#{rake} --trace"
# Criar usuario novo
# sudo adduser deployer --ingroup admin
# cat ~/.ssh/id_rsa.pub | ssh deployer@rails.supera.com.br 'mkdir -p ~/.ssh/ && cat >> ~/.ssh/authorized_keys'
# echo "deployer ALL=(ALL:ALL) ALL" >> /etc/sudoers
# Deploy inicial em uma maquina zero
# cap deploy:install
# cap deploy:setup
# cap deploy:cold
# Deploy de uma nova versão na maquina ja instalada
# cap deploy
答案 0 :(得分:0)
如果您有错误500,可能是服务它的Web服务器(nginx或apache),因为应用服务器(如乘客)在能够显示页面或创建日志之前崩溃。检查Web服务器的日志(/var/log/apache2/
以获取apache)。
这可能是错的,但每次我在rails应用程序上看到错误500都是因为编码(UTF-8 / ASCII)问题。