Настройки сервера WebSocket
Я использую em-websocket gem в приложении Rails. Сервер 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
Сервер WebSocket запускается при запуске сервера rails. Он отлично работает в среде разработки, но не работает на тестовом сервере, я использую там Nginx и Passenger.
Кто-нибудь знает, как настроить WebSocket s с Passenger и Nginx?
Обновление: я использую тонкий в среде разработки. На производстве я использую 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.