node.exe进程与IISNode进程停止运行
我正在使用iisnode来运行我的node.js应用程序。 然而,大约一个小时后,node.exe进程停止运行(我需要它运行,因为我有一个每隔几秒从数据库中提取数据的setInterval()方法)。 有什么build议?
另外,如果我用process.env.PORT设置我的服务器,如何在客户端使用socket.io连接到它? 我明白,我必须使用
io.configure(function () { io.set("transports", ["xhr-polling"]); // no websockets io.set("polling duration", 10); io.set("log level", 1); // no debug msg });
当应用程序使用iisnode在IIS中托pipe时,这是对于socket.io的正确configuration。 在客户端,您使用IIS公开的端点的常规HTTP地址连接到服务器。 请注意,为了让socket.io能够正常工作,您需要将node.js应用程序作为IIS网站托pipe,而不是在网站中的虚拟目录:您的应用程序应该使用http:// foobar进行寻址。 com /而不是http://foobar.com/myapp/ 。
当你说node.exe进程停止运行,你的意思是它被终止并消失或挂起? 在一段时间内不活动(当没有HTTP请求到达目标服务器时),IIS将终止工作进程(包括它产生的任何subprocess,在这种情况下是node.exe)。 该时间段的持续时间可在“应用程序池”设置中进行configuration。
如果您的应用程序中的逻辑需要间隔运行代码,IIS本身不提供最佳主机模型,因为进程生命周期与HTTP消息传递密切相关。 你真的需要一个耐用的服务器(例如Windows服务,检查http://nssm.cc/ ),或者某种forms的web cron。
- 当Node应用程序返回一个4xx时,IIS返回500
- 端口在IISNode上运行的Azure Node.js应用程序中未定义
- 如何在iisnode中托pipe服务和静态内容
- iisnode 500.21处理程序“iisnode”在其模块列表中有一个错误的模块“iisnode”
- 节点无法在IIS中find模块,可以从提示中find
- iisnode处理请求时遇到错误。 HTTP状态:500
- 可以使用asp.net windows窗体与node.js使用issnode
- 在Asp.Net MVC应用程序的VirtualDirectory中使用IISNode在IIS内托pipeSocket.IO + ExpressJS应用程序
- 一起使用ASP.Net MVC&node.js