0

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

4

1 回答 1

1

为了运行您的 node.js 进程,您需要能够在服务器上执行自己的应用程序。经典虚拟服务器不允许此类功能。有专门为 node.js 托管的虚拟服务器,请查看 nodejitsu、heroku 或任何其他。

您可以自己运行 node.js 作为 Web 平台,而无需使用任何 apache,这将使您的生活更加轻松。但是如果你仍然需要 apache 和 PHP,那么你需要考虑从 apache 代理到你的 node.js 进程。这仍然很棘手,因为代理 WebSockets 不是直截了当的。

如果您有权访问 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 到后台工作的 Apache)

虽然如果你有自己的服务器并且有能力在 web 平台之间进行选择,我建议你研究一下 nginx,因为它支持 WebSockets 代理(可能需要模块和 nginx 重新编译)。

于 2013-07-04T09:18:06.640 回答