[英]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
什么也不返回。 深入挖掘日志文件
$ 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实例,并使用升级到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
获得root
或ubuntu
访问。 在这个问题上这个链接
https://forums.aws.amazon.com/thread.jspa?threadID=86876
非常有用。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.