apache – NGINX配置与Socket.IO一起使用

所以我一直试图让这个工作2天,我被卡住了.这是我第一次为使用NodeJS Socket IO的rails配置服务器.我是NGINX和Unicorn的菜鸟.基本上我的应用程序的NodeJS SocketIO部分会将消息推送给连接到我的应用程序的用户.这是我的nginx.conf

server{
    listen 80 default;
    root /home/deployer/saigon/public;
    try_files $uri/index.html $uri @unicorn;

    location /sockets {
        proxy_pass http://localhost:3210;
    }

    location @unicorn {
       proxy_pass http://localhost:3000;
    }
}

在我的production.rb中,我已经配置了用户必须从中发送消息到/接收消息的URL

SOCKET_IO_URL ='http://localhost:8080/sockets

为何选择8080?我使用Vagrant转发8080 – > 80

我尝试访问http://localhost:8080/sockets,我能够获得套接字欢迎消息.我查看了我的NodeJS服务器日志,它正在接收消息.然而,当谈到广播…..它只是不这样做.有没有人有这样的应用程序与我正在尝试的设置一起工作?我应该选择Apache Unicorn吗?

最佳答案
更新的答案

我终于想出办法让这个工作.这一点并不明显,但是当在子文件夹上托管socket.io时,不要在connect语句中使用子文件夹.这就是我以前做的,客户端从未收到过回复.

不工作