我将 Node.js + MongoDB 应用程序部署到 Azure 网站,我将 MongoDB 与 MongoLab 插件结合使用。
我注意到每次部署后发送到应用程序的第一个请求不起作用,因为站点仅在第一个请求时初始化,也就是建立与 MongoDB 的连接的时间。
另一个问题是,如果我有一段时间不使用该网站,那么它似乎会处于空闲状态,因为我第一次尝试再次访问它时,它不起作用,与第一次类似请求。
是否有任何方法可以强制 Azure 在部署后启动网站并防止它使网站进入休眠状态?
更新:我已将网站从免费切换到标准,这似乎解决了第二个问题,但似乎并没有解决不再进入休眠状态。
第一个问题仍然存在,我在 app.js 的开头放置了一个 console.log() 调用,并使用 azure site log tail
监视该网站。 app.js 仅在第一个请求时执行。不过,这并不是一个大问题,因为我自然会尝试在每次部署后在浏览器中打开该站点,但仍然有点奇怪。
最佳答案
要在部署后预热站点,如果您正在利用 Azure 网站源代码控制支持,可以考虑的一个选项是使用 HTTP 客户端命令进行部署后操作 Hook 。更多信息请访问此链接:https://github.com/projectkudu/kudu/wiki/Post-Deployment-Action-Hooks .
要防止网站在空闲时间被卸载,您可以在标准模式下为网站启用“始终打开”设置。更多信息请访问此链接:http://www.windowsazure.com/en-us/documentation/articles/web-sites-configure 。
关于Azure上的Node.js + MongoDb,如何防止网站空闲?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21529222/