繁体   English   中英

使用AWS Elastic Beanstalk部署Rails ActionCable

[英]Deploying Rails ActionCable using AWS Elastic Beanstalk

我正在尝试在AWS Elastic Beanstalk上部署来自DHH的聊天演示。 我按照这里的教程: https//keithpblog.wordpress.com/2015/12/30/rails-5-tutorial-chat-app-can-we-deploy-it我已经设法得到了解决方案部署在单个实例中,Redis也启动并运行。 但是当我尝试发布内容时,消息将保存在数据库中,但不会被WebSocket返回。 我检查了production.log,我可以看到此错误消息:

E,[2016-05-20T20:33:52.676577#24281]错误 - :有一个例外 - Gem :: LoadError(为Action Cable pubsub适配器指定'redis',但没有加载gem 'redis' 。添加gem 'redis'到您的Gemfile(并确保其版本是Action Cable所要求的最低版本)。)

E,[2016-05-20T20:33:52.676826#24281]错误 - :/opt/rubies/ruby-2.3.0/lib/ruby/gems/2.3.0/gems/actioncable-5.0.0.rc1/ lib / action_cable / server / configuration.rb:37:在`pubsub_adapter中的救援'中

/opt/rubies/ruby-2.3.0/lib/ruby/gems/2.3.0/gems/actioncable-5.0.0.rc1/lib/action_cable/server/configuration.rb:34:in`pubsub_adapter'

我也有我的Gemfile:gem'redis','〜> 3.2'

有任何想法吗? 谢谢!

我通过添加到我的Gemfile修复了错误:

gem 'em-hiredis'
gem 'redis'

我必须做的另一个改变是在/environments/production.rb上

config.action_cable.url = 'ws://url.com/cable'
config.action_cable.allowed_request_origins = ['http://url.com']

有了这个,我就可以在Elastic Beanstalk上运行并运行

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM