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