【发布时间】:2012-07-22 23:16:36
【问题描述】:
我想使用Socket.io 和Node.js 进行推送通知。最终目标是做一些类似于 * 通过评论通知人们新的 cmets 所做的事情。
我的网站使用 PHP 并在 EC2 实例上的 Apache 上运行。我听说 Apache 不能很好地处理并发性,所以我有兴趣使用 Node 来处理有希望的大量同时持续连接。我想有两种解决方案:
- 将 Node 放在与 Apache 相同的实例上并代理两台服务器
- 将节点放在单独的实例上
无论哪种情况,我都不知道这两个服务器之间的连接以编程方式看起来如何。例如,当 WebSockets/Node 处理消息的发送/接收时,我需要将这些消息存储在我的 MySQL 数据库中,这需要一些 PHP 代码,是/否?另外,我的 PHP 页面上的消息是如何收到的?通过$.post 到这样的网址,http://mysite/receiver.php 将由我的 Apache 服务器解析?
我很高兴看到 cmets 或代码来帮助我更好地理解这一点。
【问题讨论】:
-
我对 node.js 的体验固然有限,但据我所知,苹果和橘子。 node.js 服务器不应该需要与 apache 通信——尽管有 node.js 库来处理 MySQL 连接,所以你可以通过 node.js 在服务器端 javascript 中做任何你需要的事情。只要你对 JS 有信心,不用 PHP 就可以了。
-
另外,但据我所知,您应该可以在单个实例上同时运行 node.js 和 apache;我认为你可以让 node.js 处理一个特定的端口,并通过 apache 处理通常的 80/4430(如果不是这样,有更多 node.js 实践经验的人可能想纠正我)
-
@Mahn 谢谢,你能解释一下我在哪里指定端口号吗?那是 URL 的一部分还是 PHP.ini 或 Node 配置代码?我认为节点是端口 3000?
-
看看@GeoPhoenix 的答案,因为他似乎已经涵盖了它:)
-
@timpeterson 你能找到一些代码 sn-p 来实现你的任务吗?我正在寻找确切的问题。
标签: php javascript apache node.js websocket