【问题标题】:Ubuntu Puma Upstart Script failsUbuntu Puma Upstart 脚本失败
【发布时间】:2017-02-06 23:32:56
【问题描述】:

我可以使用以下命令启动 Puma: $HOME/.rbenv/bin/rbenv exec bundle exec puma -C /home/deploy/tasks/shared/puma.rb --daemon -p 3000 该应用程序正在为所有页面提供服务。 我还没有安装 Nginx 或 Apache。 我正在尝试首先开发 Upstart Puma 脚本。 运行命令:

$ sudo start puma-manager
puma-manager start/running

给我的印象是一切正常,而实际上是命令

$ ps -ef | grep puma

什么都不返回。 深入挖掘日志文件

$ sudo tail -f /var/log/upstart/puma-_home_deploy_tasks_current.log

我收到这样的错误:

[2889] Puma starting in cluster mode...
[2889] * Version 3.6.0 (ruby 2.3.1-p112), codename: Sleepy Sunday Serenity
[2889] * Min threads: 5, max threads: 5
[2889] * Environment: development
[2889] * Process workers: 2
[2889] * Preloading application
[2889] ! Unable to load application: LoadError: Could not load the 'listen' gem. Add `gem 'listen'` to the development group of your Gemfile
bundler: failed to load command: puma (/home/deploy/tasks/shared/bundle/ruby/2.3.0/bin/puma)
LoadError: Could not load the 'listen' gem. Add `gem 'listen'` to the development group of your Gemfile
  /home/deploy/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/activesupport-5.0.0.1/lib/active_support/dependencies.rb:293:in `require'
  /home/deploy/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/activesupport-5.0.0.1/lib/active_support/dependencies.rb:293:in `block in require'
  /home/deploy/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/activesupport-5.0.0.1/lib/active_support/dependencies.rb:259:in `load_dependency'
  /home/deploy/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/activesupport-5.0.0.1/lib/active_support/dependencies.rb:293:in `require'

不知道如何解决这个问题并继续使用 Puma 设置?

【问题讨论】:

    标签: ubuntu puma


    【解决方案1】:

    我废弃了 AWS EC2 实例并使用升级到 16.04 的 Ubuntu 14.04 实施重新创建它。 我严格按照此处找到的指导进行操作

    http://codepany.com/blog/rails-5-puma-capistrano-nginx-jungle-upstart/
    

    以及来自同一博客的相关链接。

    现在 Nginx 和 Puma 一起正常工作,我的应用程序在这里完美运行:

    http://ec2-54-159-156-217.compute-1.amazonaws.com/
    

    指南的唯一区别是我为数据库保留了 AWS RDS 实例。 尽管我在 Mac 上使用 RBENV,但我在生产服务器中使用了 RVM。 我使用 ubuntu 用户(如 root)进行部署,因为我怀疑我遇到的所有问题都与权限有关,我不知道如何解决它们。

    之前尝试在套接字上正确启动 Puma 并使其与 Nginx 一起工作时遇到了许多错误,尤其是在之后没有重新启动

    cap production deploy
    

    与生成secret 并将此值放入适当的文件有关。对我来说,将它写在/etc/environment 文件中效果最好。

    我还对文件/etc/ssh/sshd_config 进行了更改,以便通过ssh 访问rootubuntu。在这件事上这个链接

    https://forums.aws.amazon.com/thread.jspa?threadID=86876
    

    非常有用。

    【讨论】:

      猜你喜欢
      • 2017-07-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-13
      • 2017-10-23
      • 2012-03-17
      相关资源
      最近更新 更多