【问题标题】:Production Rails app fails with almost no log生产 Rails 应用程序失败,几乎没有日志
【发布时间】:2016-05-24 22:52:36
【问题描述】:

我今天在运行 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 的根文件夹,应用程序应该如何以任何方式加载?正如我所说,这是我的第一次部署。

【问题讨论】:

  • 看起来您的 Rails 应用程序启动没有问题;日志很干净。 Nginx 转发到 Puma 可能有问题。您能否向我们展示您的 Nginx 日志(在 /var/log/nginx/ 中,如果可能的话,您的 Nginx 配置的相关部分?

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


【解决方案1】:

Rails 让您知道需要通过尝试加载架构来运行迁移:

RAILS_ENV=production rake db:migrate assets:precompile

【讨论】:

    【解决方案2】:

    Puma 原木是干净的,但我敢打赌 Rails 的原木不是。它们位于RAILS_ROOT/log 目录下,您可能需要生产版。

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

    1. 您没有使用rake secret 生成的秘密令牌并将其放置在环境变量中。检查config/secrets.yml
    2. 数据库连接错误
    3. Ruby 环境错误,缺少某个 gem

    它应该是这三件事之一。不过,请先检查日志文件,然后将其发布为编辑

    【讨论】:

    • 你看到了日志。我在最初的问题中发布了它们。我还设置了 SECRET_KEY_BASE。当我运行RAILS_ENV=production rails s -b <my_ip> 时,我在端口 3000 上获得了一个功能齐全的应用程序。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-22
    • 2014-03-05
    • 1970-01-01
    • 1970-01-01
    • 2022-01-12
    • 2018-12-10
    相关资源
    最近更新 更多