生产Rails应用程序失败,几乎没有日志

时间:2016-02-13 21:22:08

标签: ruby-on-rails ruby nginx capistrano digital-ocean

我今天在运行Ubuntu 14.04的Digital Ocean Droplet上首次部署了一个非常简单的rails应用程序。我按照这篇文章进行了部署

https://www.digitalocean.com/community/tutorials/deploying-a-rails-app-on-ubuntu-14-04-with-capistrano-nginx-and-puma

并且只用rbenv替换了RVM。 现在我得到了“我们很抱歉,但出了点问题。” Rails错误页面。我的production.log说明如下:

D, [2016-02-13T15:58:41.165515 #1783] DEBUG -- :   ^[[1m^[[36mActiveRecord::SchemaMigration Load (1.5ms)^[[0m  ^[[1mSELECT "schema_migrations".* FROM "schema_migrations"^[[0m

Puma日志很干净。我首先在rake上遇到了一些麻烦,因为迁移不是由capistrano本身执行的。所以我将rake从10.4.2更新到10.5并手动执行迁移,但仍然是同样的错误。提前谢谢。

修改

我刚注意到的是我的公共文件夹如下所示:

404.html  422.html  500.html  assets  favicon.ico  robots.txt

由于这是nginx'根文件夹,应用程序应该以任何方式加载?正如我所说,这是我的第一次部署。

2 个答案:

答案 0 :(得分:0)

Puma日志很干净,但我敢打赌Rails不是。它们位于RAILS_ROOT/log目录下,您可能想要生产一个。

我的猜测,没有看到那些日志,它是以下之一,按可能性排序:

  1. 您没有生成使用rake secret并将其放在环境变量中的秘密令牌。查看config/secrets.yml
  2. 数据库连接错误
  3. Ruby环境错误,某个宝石缺失
  4. 这应该是这三件事之一。但是,首先检查日志文件,然后将其作为编辑发布

答案 1 :(得分:0)

Rails告诉您,需要通过尝试加载架构来运行迁移:

RAILS_ENV=production rake db:migrate assets:precompile