我正在开发一个完全js,HTML5画布游戏,并希望它是"实时".基于我的研究,我发现node.js是一个令人兴奋的前景,所以我在我的ubuntu 12网络服务器上配置了socket.io,express等.
我是一名程序员,但只是网络服务器后端世界的新手,这就是我寻求帮助的原因.我对整个系统模型感到困惑,并希望澄清它是如何工作的.也许,我在很短的时间内读了太多文章.
首先:我在我的网络服务器上运行nginx 1.2.x. 据我所知,nginx正在处理请求,它专用于端口80(对我来说)和服务http请求(也使用php-fpm来服务php).然后,我在端口8080上有一个成功运行的nodejs服务器.我想通过websocket连接(由于它的性质和协议),因为nginx不支持websocket但我对发生了什么感到困惑.
如果我去http // mydomain.tld:8080,这是通过节点服务器并保持关闭nginx?在这种情况下,连接可以通过websocket而不是回落到xhr或其他任何东西(我不想要它,因为可扩展性),对吗?
那我该怎么做才能在http // mydomain.tld/game /中产生相同的效果呢?只需将nginx.conf中的请求代理到节点服务器?喜欢:
# if a file does not exist in the specified root and nothing else is definded, we want to serve the request via node.js
try_files $uri @nodejs;
location @nodejs
{
proxy_pass 127.0.0.1:8080;
break;
}
Run Code Online (Sandbox Code Playgroud)
来自:https://stackoverflow.com/a/14025374/2039342
如果我们需要通过nginx进行websocket通信时它是一个很好的代理解决方案吗?当我们想要一个常规的php站点和socket.io连接时,我们是否.到目前为止,我认为重点是在端口80上运行流量并分离标准请求和websocket流量.在我的情况下,最简单的解决方案是什么?
http://www.exratione.com/2012/07/proxying-websocket-traffic-for-nodejs-the-present-state-of-play/在本文中我发现HAProxy可能是我的直到nginx 1.3 , 是吗?
我知道我的问题有点混乱,但我正在努力去理解确切的技术.请给我一些提示| 文章阅读| 起点| 基本配置.
PS.:我在这里阅读了大部分相关主题.
Ps2:看起来不那么愚蠢:我已经在red5(基于java的flash服务器)+ flash中完成了这个游戏,所以我只想重新考虑并使用适当的当前技术发布它.