WebSocket服务器设置

时间:2015-11-18 23:55:21

标签: ruby-on-rails apache websocket eventmachine em-websocket

我在Rails应用程序中使用em-websocket gem。 WebSocket服务器在初始化程序中运行,它的外观如下:

#config/initializers/web_socket.rb
EM.next_tick do
  EM::WebSocket.run(host: '0.0.0.0', port: 8080) do |ws|
    ws.onopen do |request|
      ...
    end

    ws.onclose do
      ...
    end
  end
end

我启动rails服务器时会运行WebSocket服务器。它在开发环境中完美运行,但它不能用于测试服务器,我在那里使用Nginx和Passenger。

有人知道如何使用Passenger和Nginx设置WebSockets吗?

更新 我在开发环境中使用thin。 在制作时我使用Nginx和Passenger,这些工具的设置很常见。我在日志中没有错误消息。在浏览器控制台中,我有以下错误:

Failed: Error in connection establishment: net::ERR_CONNECTION_TIMED_OUT 

Nginx配置:

worker_processes  1;

events {
    worker_connections  1024;
}
http {
    passenger_root /usr/local/rvm/gems/ruby-2.2.2/gems/passenger-5.0.7;
    passenger_ruby /usr/local/rvm/gems/ruby-2.2.2/wrappers/ruby;

    include       mime.types;
    default_type  application/octet-stream;

    sendfile        on;

    keepalive_timeout  65;

    server {
        listen       80;
        server_name  example.com;
        passenger_enabled on;
        rails_env production;
        root /var/www/domains/example.com/www/deployments/current/public;
    }
}

我使用通常的Ubuntu服务器。

0 个答案:

没有答案