これは2日間働くように努力しており、私は立ち往生しています。 NodeJS + Socket IOを使用するレール用のサーバを初めて設定しました。私はNGINXとUnicornのノブです。基本的に私のアプリのNodeJS + SocketIO部分は、自分のアプリに接続しているユーザーにメッセージをプッシュします。これは私のnginx.confSocket.IOと連携するNGINX設定
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に、私は、ユーザーが
SOCKET_IO_URL ='http://localhost:8080/sockets
なぜ8080からメッセージを受信/にメッセージを送信する必要がありますURLを設定していますか?私はバグを使って8080を転送します - > 80
私はhttp://localhost:8080/socketsにアクセスしようとしましたが、私はソケットのウェルカムメッセージを受け取ることができました。私はNodeJSサーバーのログを見て、メッセージを受け取りました。しかし、放送になると.....それはしません。誰も私がやろうとしている設定でこの種のアプリを手に入れましたか?私はApache + Unicornと一緒に行かなければならないのですか?
「
ですから、基本的にソケット/ソケットです。IOは私がレールに起こっているとそれがルートに当たるとIOをソケットしようとしている要求を知る必要があることを意味している....その後、ルートフォルダに滞在する必要がありますか? = ___ = argh – denniss
今のところはいです。可能であれば、代わりにサブドメインルートを使用できます。 http://socket.domain.com/。サブドメインのSSL証明書にこれ以上の費用をかけたくないので、これは私のためには機能しませんでした。 –
@denniss私は回避策を使って私の答えを更新しました。これが意図された設計か修正されるべきバグかどうか把握するために、まだそれを掘り下げてください。 –