将Sinatra 2.0.0beta2的Rails 5应用程序部署到Amazon Linux AMI时出错

时间:2016-09-18 23:23:55

标签: sinatra elastic-beanstalk ruby-on-rails-5 puma

我遇到Sinatra 2.0.0 beta 2的异常,Rails 5部署到Amazon Linux AMI v 2.1.6。我已经在Sinatra Github repro中发布了the issue,但我建议将其发布在此处。

编辑:我使用Elastic Beanstalk遇到了这个问题,但正如@neal报道的那样,Capistrano部署到EC2也会发生这种情况。

重现问题的步骤如下:

  1. 在干净的目录中创建一个新的Rails 5应用程序

    $ gem install rails
    $ rails --version
    (confirm Rails 5.0.0.1)
    $ rails new test-app
    
  2. 将此行添加到gemfile:

    gem 'sinatra', '2.0.0.beta2'
    
    1. 创建一个新的Elastic Beanstalk Web环境,类型为“运行Ruby 2.3(Puma)的64位Amazon Linux 2016.03 v2.1.6”,Web服务器。使用所有默认值,但将实例大小更改为t2.small(任何较小的内容都没有足够的内存来部署)

    2. 使用Web控制台将两个新环境变量添加到Elastic Beanstalk环境 SECRET_KEY_BASE =(为此设置一个值) RAILS_ENV =生产

    3. 将应用程序部署到此新环境,例如使用eb命令行工具。

    4. 再次部署
    5. 通过Elastic Beanstalk控制台添加日志
    6. 结果:

      -------------------------------------
      /var/log/puma/puma.log
      -------------------------------------
      === puma startup: 2016-08-26 02:39:12 +0000 ===
      === puma startup: 2016-08-26 02:39:12 +0000 ===
      [15926] - Worker 0 (pid: 15929) booted, phase: 0
      [15926] - Gracefully shutting down workers...
      /opt/rubies/ruby-2.3.1/lib/ruby/gems/2.3.0/gems/sinatra-2.0.0.beta2/lib/sinatra/main.rb:11:in `expand_path': No such file or directory - getcwd (Errno::ENOENT)
          from /opt/rubies/ruby-2.3.1/lib/ruby/gems/2.3.0/gems/sinatra-2.0.0.beta2/lib/sinatra/main.rb:11:in `block in <class:Application>'
          from (eval):1:in `run?'
          from /opt/rubies/ruby-2.3.1/lib/ruby/gems/2.3.0/gems/sinatra-2.0.0.beta2/lib/sinatra/main.rb:26:in `block in <module:Sinatra>'
          from /opt/rubies/ruby-2.3.1/lib/ruby/gems/2.3.0/gems/puma-3.6.0/lib/puma/cluster.rb:120:in `fork'
          from /opt/rubies/ruby-2.3.1/lib/ruby/gems/2.3.0/gems/puma-3.6.0/lib/puma/cluster.rb:120:in `block in spawn_workers'
          from /opt/rubies/ruby-2.3.1/lib/ruby/gems/2.3.0/gems/puma-3.6.0/lib/puma/cluster.rb:116:in `times'
          from /opt/rubies/ruby-2.3.1/lib/ruby/gems/2.3.0/gems/puma-3.6.0/lib/puma/cluster.rb:116:in `spawn_workers'
          from /opt/rubies/ruby-2.3.1/lib/ruby/gems/2.3.0/gems/puma-3.6.0/lib/puma/cluster.rb:426:in `run'
          from /opt/rubies/ruby-2.3.1/lib/ruby/gems/2.3.0/gems/puma-3.6.0/lib/puma/launcher.rb:172:in `run'
          from /opt/rubies/ruby-2.3.1/lib/ruby/gems/2.3.0/gems/puma-3.6.0/lib/puma/cli.rb:74:in `run'
          from /opt/rubies/ruby-2.3.1/lib/ruby/gems/2.3.0/gems/puma-3.6.0/bin/puma:10:in `<top (required)>'
          from /opt/rubies/ruby-2.3.1/bin/puma:23:in `load'
          from /opt/rubies/ruby-2.3.1/bin/puma:23:in `<top (required)>'
          from /opt/rubies/ruby-2.3.1/lib/ruby/gems/2.3.0/gems/bundler-1.12.1/lib/bundler/cli/exec.rb:63:in `load'
          from /opt/rubies/ruby-2.3.1/lib/ruby/gems/2.3.0/gems/bundler-1.12.1/lib/bundler/cli/exec.rb:63:in `kernel_load'
          from /opt/rubies/ruby-2.3.1/lib/ruby/gems/2.3.0/gems/bundler-1.12.1/lib/bundler/cli/exec.rb:24:in `run'
          from /opt/rubies/ruby-2.3.1/lib/ruby/gems/2.3.0/gems/bundler-1.12.1/lib/bundler/cli.rb:304:in `exec'
          from /opt/rubies/ruby-2.3.1/lib/ruby/gems/2.3.0/gems/bundler-1.12.1/lib/bundler/vendor/thor/lib/thor/command.rb:27:in `run'
          from /opt/rubies/ruby-2.3.1/lib/ruby/gems/2.3.0/gems/bundler-1.12.1/lib/bundler/vendor/thor/lib/thor/invocation.rb:126:in `invoke_command'
          from /opt/rubies/ruby-2.3.1/lib/ruby/gems/2.3.0/gems/bundler-1.12.1/lib/bundler/vendor/thor/lib/thor.rb:359:in `dispatch'
          from /opt/rubies/ruby-2.3.1/lib/ruby/gems/2.3.0/gems/bundler-1.12.1/lib/bundler/vendor/thor/lib/thor/base.rb:440:in `start'
          from /opt/rubies/ruby-2.3.1/lib/ruby/gems/2.3.0/gems/bundler-1.12.1/lib/bundler/cli.rb:11:in `start'
          from /opt/rubies/ruby-2.3.1/lib/ruby/gems/2.3.0/gems/bundler-1.12.1/exe/bundle:27:in `block in <top (required)>'
          from /opt/rubies/ruby-2.3.1/lib/ruby/gems/2.3.0/gems/bundler-1.12.1/lib/bundler/friendly_errors.rb:98:in `with_friendly_errors'
          from /opt/rubies/ruby-2.3.1/lib/ruby/gems/2.3.0/gems/bundler-1.12.1/exe/bundle:19:in `<top (required)>'
          from /opt/rubies/ruby-2.3.1/bin/bundle:23:in `load'
          from /opt/rubies/ruby-2.3.1/bin/bundle:23:in `<main>'
      [15926] === puma shutdown: 2016-08-26 02:41:17 +0000 ===
      [15926] - Goodbye!
      === puma startup: 2016-08-26 02:41:20 +0000 ===
      === puma startup: 2016-08-26 02:41:20 +0000 ===
      [16296] - Worker 0 (pid: 16299) booted, phase: 0
      

1 个答案:

答案 0 :(得分:0)

这不仅仅是一个弹性bean问题,我可以确认在使用capistrano / EC2 Ubuntu / nginx部署rails 5 app时也会发生这种情况