【问题标题】:Ruby on Rails with Amazon ElasticBeanstalkRuby on Rails 与 Amazon ElasticBeanstalk
【发布时间】:2013-03-04 21:12:52
【问题描述】:

我只是想知道为什么很难在 aws Elaticbeanstalk 上运行我的 ROR 应用程序?我的应用程序在 localhost 上运行良好,但是当我在 aws 上部署时,它显示了这个错误

我想知道如何在 aws 上正确部署 rails 应用程序,以及 aws 是如何安装 gems 的。以下是我的一些配置:

.ebextensions/ruby.config

option_settings:
  - option_name: BUNDLE_DISABLE_SHARED_GEMS
    value: "1"
  - option_name: BUNDLE_PATH
    value: "vendor/bundle"

packages:
  yum:
    git: []

我的路线:

Apps2::Application.routes.draw do

  devise_for :users, :controllers => { :omniauth_callbacks => "omniauth_callbacks" }

  resources :posts

  root :to => 'posts#index'
end

我还想知道,一旦部署在 aws 上,我们有什么方法可以调试我们的应用程序?谢谢

【问题讨论】:

  • 如果这是第一次部署后的 heroku,我会运行 rake db:create && rake db:migrate 你这样做了吗?您是否将其用于部署? docs.aws.amazon.com/elasticbeanstalk/latest/dg/…
  • @AdamT 你的意思是创建数据库和迁移表?是的,我已经这样做了。我的 localhost 和 aws 共享相同的 rds 数据库。我可以调试此问题的任何其他方式
  • 日志显示什么?
  • @AdamT 如何启用日志? Aws 一直显示默认错误页面

标签: ruby-on-rails ruby amazon-web-services gem amazon-elastic-beanstalk


【解决方案1】:

您需要检查您的生产日志:

http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/using-features.loggingS3.title.html

或者更直接一点,让应用显示完整的错误而不是错误页面 (config/environments/production.rb):

config.action_controller.consider_all_requests_local = true

(这对生产不利,但调试起来很容易)

【讨论】:

    【解决方案2】:

    aws 如何安装 gems [原文如此]

    将您的应用程序推送到 Elastic Beanstalk 后,会自动安装 Gemfile 中的 gem。 source

    我也想知道有什么方法可以调试我们的 应用程序曾经部署在 aws 上吗?

    SSH 进入您的实例,然后导航到 /var/app/current/logs 以检查您的 Ruby on Rails 日志。

    【讨论】:

      猜你喜欢
      • 2015-02-10
      • 2015-05-14
      • 2016-02-12
      • 2012-01-14
      • 2011-01-08
      • 2011-01-21
      • 2011-11-01
      • 2012-04-20
      • 2014-11-24
      相关资源
      最近更新 更多