ruby-on-rails-capistrano部署后ec2服务器中缺少puma.sock

前端之家收集整理的这篇文章主要介绍了ruby-on-rails-capistrano部署后ec2服务器中缺少puma.sock 前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

在通过capistrano将生产中的ruby部署到ec2上的实例上后,我在Nginx错误日志中收到以下错误.亚马逊公共主机显示502 Bad Gateway Nginx / 1.10.0(Ubuntu).
我遵循了https://www.sitepoint.com/deploy-your-rails-app-to-aws/的教程
当我运行cap生产部署时,似乎未创建puma.sock.

2017/06/28 01:09:57 [crit] 12802#12802: *1 connect() to unix:/home/deploy/app_name/shared/tmp/sockets/puma.sock Failed (2: No such file or directory) while connecting to upstream,client: 173.198.30.2,server: localhost,request: "GET / HTTP/1.1",upstream: "http://unix:/home/deploy/app_name/shared/tmp/sockets/puma.sock:/",host: "host"

以下是我的deploy.rb中

set :application,'app_name'
set :repo_url,'git@github.com:github_account/app_name.git' # Edit this to match your repository
set :branch,:master
set :deploy_to,'/home/deploy/app_name'
set :pty,true
set :linked_files,%w{config/database.yml config/application.yml}
set :linked_dirs,%w{bin log tmp/pids tmp/cache tmp/sockets vendor/bundle public/system public/uploads}
set :keep_releases,5
set :rvm_type,:user
set :rvm_ruby_version,'ruby-2.3.3' # Edit this if you are using MRI Ruby

set :puma_rackup,-> { File.join(current_path,'config.ru') }
set :puma_state,"#{shared_path}/tmp/pids/puma.state"
set :puma_pid,"#{shared_path}/tmp/pids/puma.pid"
set :puma_bind,"unix://#{shared_path}/tmp/sockets/puma.sock"    #accept array for multi-bind
set :puma_conf,"#{shared_path}/puma.rb"
set :puma_access_log,"#{shared_path}/log/puma_error.log"
set :puma_error_log,"#{shared_path}/log/puma_access.log"
set :puma_role,:app
set :puma_env,fetch(:rack_env,fetch(:rails_env,'production'))
set :puma_threads,[0,8]
set :puma_workers,0
set :puma_worker_timeout,nil
set :puma_init_active_record,true
set :puma_preload_app,false

请帮忙!
提前致谢!

最佳答案
在使用Capistrano和Nginx安装Rails的EC2实例上工作时,我遇到了同样的错误

如果收到502错误,则在需要’capistrano / puma’之后,将install_plugin Capistrano :: Puma添加到Capfile中.

猜你在找的Nginx相关文章