2013-07-04 140 views
0

我有一些关于node.js和socket.io的noob问题。这两个人通常需要使用websockets进行服务器到浏览器的通信。一旦我的项目完成后,我是否必须将我的php文件上传到我的apache服务器。现在我的问题是我也有上传我的node_modules目录到我的apache服务器?以及socket.io目录?node.js socket.io apache服务器

回答

1

为了运行你的node.js过程,你需要有能力在服务器上执行自己的应用程序。经典的虚拟服务器不允许使用这种功能。有特定的虚拟服务器托管node.js,检查nodejitsu,heroku或任何其他。

您可以通过它自己运行node.js作为web平台,而不使用任何apache,这会让您的生活更轻松。但是如果你仍然需要apache和PHP,那么你需要考虑从apache到你的node.js进程的代理。由于代理WebSocket并不简单,这仍然会非常棘手。

如果你有机会到Apache设置,则可以启用HTTP/HTTPS代理,请阅读本:http://ronenagranat.blogspot.co.uk/2011/02/apache2-reverse-proxy-for-nodejs.html
对于WebSockets的,没有提供太多的数据,但这里是可能的解决方案:http://blog.cafarelli.fr/post/2013/04/26/Backporting-Apache-support-for-websockets-reverse-proxy-(aka-getting-GateOne-to-work-behind-Apache)

虽然如果你有自己的服务器,并有能力选择网络平台,我会建议看看nginx,因为它支持WebSockets代理(可能需要模块和nginx重新编译)。