Ubuntu Puma Upstart 脚本失败
Ubuntu Puma Upstart Script fails
我可以使用以下命令启动 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
returns 没什么。
深入挖掘日志文件
$ 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 设置?
我废弃了 AWS EC2 实例并使用 Ubuntu 14.04 实施重新创建它,我升级到 16.04。
我严格遵循此处的指导
http://codepany.com/blog/rails-5-puma-capistrano-nginx-jungle-upstart/
和来自同一博客的相关 link。
现在 Nginx 和 Puma 一起正常工作,我的应用程序在这里运行完美:
http://ec2-54-159-156-217.compute-1.amazonaws.com/
与指南的唯一区别是我为数据库保留了 AWS RDS 实例。
尽管我在 Mac 上使用 RBENV,但我在生产服务器中使用了 RVM。
我使用 ubuntu 用户(如 root)进行部署,因为我怀疑我遇到的所有问题都与权限有关,而且我不知道如何修复它们。
之前尝试在 socket 上正确启动 Puma 并使其与 Nginx 一起工作时遇到许多错误,尤其是在
之后没有重新启动
cap production deploy
与生成 secret
并将此值放入适当的文件有关。对我来说,将它写在 /etc/environment
文件中效果最好。
我还对文件 /etc/ssh/sshd_config
进行了更改,以便通过 ssh
获得 root
或 ubuntu
访问权限。在这件事上link
https://forums.aws.amazon.com/thread.jspa?threadID=86876
非常有用。
我可以使用以下命令启动 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
returns 没什么。 深入挖掘日志文件
$ 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 设置?
我废弃了 AWS EC2 实例并使用 Ubuntu 14.04 实施重新创建它,我升级到 16.04。 我严格遵循此处的指导
http://codepany.com/blog/rails-5-puma-capistrano-nginx-jungle-upstart/
和来自同一博客的相关 link。
现在 Nginx 和 Puma 一起正常工作,我的应用程序在这里运行完美:
http://ec2-54-159-156-217.compute-1.amazonaws.com/
与指南的唯一区别是我为数据库保留了 AWS RDS 实例。 尽管我在 Mac 上使用 RBENV,但我在生产服务器中使用了 RVM。 我使用 ubuntu 用户(如 root)进行部署,因为我怀疑我遇到的所有问题都与权限有关,而且我不知道如何修复它们。
之前尝试在 socket 上正确启动 Puma 并使其与 Nginx 一起工作时遇到许多错误,尤其是在
之后没有重新启动cap production deploy
与生成 secret
并将此值放入适当的文件有关。对我来说,将它写在 /etc/environment
文件中效果最好。
我还对文件 /etc/ssh/sshd_config
进行了更改,以便通过 ssh
获得 root
或 ubuntu
访问权限。在这件事上link
https://forums.aws.amazon.com/thread.jspa?threadID=86876
非常有用。