我发现Azure网站(试用版)没有自动启动我的节点服务器进程(只有当我在网络浏览器中加载网址时才启动);并且当一段时间内没有请求时,该进程被终止。
我的意思是,当我git推送我的服务器时,我希望它能够立即开始连续运行。
我读过(例如here)这可能与iisnode管理azure网站的方式有关,而且我无法做任何改变它的事情。这是Azure网站的实际工作方式吗?有什么方法可以解决这个问题吗?
提前致谢,
布鲁诺。
答案 0 :(得分:2)
你找到了答案。没有其他答案。
由于不活动而导致的进程终止来自IIS - 有Idle Timeout setting。据我所知,在Azure网站中无法配置(至少不是免费套餐)。还可以查看this SO question and its answer以更好地了解为什么不能在FREE和STANDARD层上更改此超时。
并here is一个有趣的解决方法,以避免此空闲超时。实际上,如果你使用技术,你也会有一种“自动启动”,因为当你的调度程序在新的部署后到达你的站点时,它会“启动”。
答案 1 :(得分:0)
这可能会有点复杂,但如果您不想使用5分钟的ping服务,可以通过执行以下操作来保持这些服务:
WEBSITE_PRIVATE_EXTENSIONS
并将其值设为1
applicationhost.xdt
的文本文件,并填充:<?xml version="1.0"?><configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform"><system.applicationHost><applicationPools><add name="DefaultAppPool" managedRuntimeVersion="v4.5" startMode="AlwaysRunning"><processModel identityType="ApplicationPoolIdentity" /></add></applicationPools></system.applicationHost></configuration>
Site Extensions
的根目录中创建一个文件夹。 (根目录中应该有3个文件夹:LogFiles,site和&amp; SiteExtensions)ASPLimits