Node.js介绍
请原谅我对node.js的无知。我已经开始阅读node.js并且有一些看法可能是错误的。所以需要它来澄清Node.js介绍
- 当我们使用createServer()方法时,它是否会创建一个虚拟服务器。不知道是否术语“虚拟”是合适的,但它是最好的,我可以形容它:)
- 我很困惑,我应该如何部署具有的node.js +其他自定义js文件作为它的一部分我的申请。如果我在主服务器上部署应用程序,这是否意味着我有两台服务器?
感谢您与我的轴承。
我会尽量回答:
Q1:
createServer基本上创建监听指定端口的请求上的进程。所以是的,你可以称它为一个虚拟服务器,它不断地在端口监听请求。
Q2:
是的,你可以说,它现在已经2个服务器
对于例如:你的服务器开始监听80端口有阿帕奇(您可以通过默认的外观访问它http://example.com/它端口为80)
,然后你还需要启动节点服务监听其他一些端口如上:端口8456(你可以访问它http://example.com:8456/将寻找端口8456)
所以是的,你可以有两台服务器。
编辑
Q:因此,如果页面是由物理服务器和node.js中创建的虚拟服务器提供服务会有什么区别呢?
物理服务器和节点服务器是两种不同的东西,并且没有办法向两个服务器发送单个请求。
对于如: 我使用Apache服务器主机上运行PHP我的网站。它提供了我网站的所有html内容(涉及连接到mysql的数据)。 一些请求可能是:
在另一端,我可能会使用服务器的NodeJS为完全另一个目的。例如:我可能会使用它作为返回JSON/XML的API。我可以使用这个API自己的一些动态内容通过使用JavaScript的AJAX调用或简单的CURL命令来自PHP。或者我也可能将此API提供给公众。 一些请求可能是:
- http://example.com:8456/getList?apikey= &参数1 = &参数2 =
我对用作API将是其处理并发请求的能力,并因为它的异步传送的NodeJS服务器的选择文件操作将比PHP快得多。
在这种情况下,我有一个网站,它不仅在PHP上工作,而且它的2种不同技术(Apache和Nodejs上的PHP)的组合以及2个服务器在完全不同的服务器上运行,但有自己的执行空间。
第三个问题: 那么,如果页面由物理服务器和由node.js创建的虚拟服务器提供服务,会有什么区别?
如果我想补充,它在意义上的虚拟服务器Apache是一个虚拟HTTP服务器侦听任何端口上。当然Apache有更多的模块,插件和配置,因为Node的更轻(有点像WEBrick for rails),非阻塞和灵活的构建。然后再apache更稳定..换句话说,这是一个软件的决定,都坐在服务器上,监听你设置的特定端口。
这就是说,有一种部署方法可以让节点应用程序放在nginx(另一个服务器端软件)或HAproxy(负载处理功能强大)之类的软件之前,所以真的完全取决于你选择配置它。
也许我已经远离你的问题,但我希望这有助于!
此外,你应该给的答案,其他人,他来到第一;)
谢谢film42的答案。事实上,我标记了swapnil的答案。美好的一天。 – 2012-08-01 09:47:51
啊!谢天谢地,我想我疯了:)。感谢您的回答。那么,如果页面由物理服务器和由node.js创建的虚拟服务器提供服务,会有什么不同? – 2012-07-31 14:25:06
增加了一些解释...也检查了@ film42的答案 – swapnilsarwe 2012-08-01 08:02:41
感谢swapnil的解释。 – 2012-08-01 09:40:48