Rails 5操作电缆冻结服务器



每次安装Actioncable 时,我在nginx服务器上运行Actioncable时都会遇到问题

mount ActionCable.server => '/cable'

服务器将返回

Started GET "/cable" for ::1 at 2016-05-24 11:42:16 -0400
Started GET "/cable/" [WebSocket] for ::1 at 2016-05-24 11:42:16 -0400
Successfully upgraded to WebSocket (REQUEST_METHOD: GET, HTTP_CONNECTION: Upgrade, HTTP_UPGRADE: websocket)

冷冻前

感谢您的帮助!

当我的应用程序被许多用户使用时,我也遇到了同样的问题。我的问题来自于一起使用彪马和Phusion Passenger。这个问题通过从我的应用程序中删除彪马并将Nginx配置为使用Action Cable with Passenger来解决。

本文概述了配置Action Cable+Nginx+Passenger 的正确方法

我也遇到了同样的问题。Rails服务器在连接后冻结这对我很有效在config.ru文件中

if defined?(PhusionPassenger)
  PhusionPassenger.advertised_concurrency_level = 0
end

想法是将并发级别设置为0

最初,我只在nginx.conf文件中为有线服务器设置并发级别0

希望这能挽救别人的一天

如果您使用puma+nginx+rails,您应该使用:在nginx conf 中的虚拟主机内部

    # enables WS support
location /cable {
    proxy_pass http://cable;
    proxy_http_version 1.1;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Host $http_host;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "Upgrade";
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-Proto https;
    proxy_redirect off;

}

最新更新