我遇到了我们托管的网站的问题,它位于带有IIS 7的Windows Server 2012 R2上。此服务器上有超过8个网站(所有软件都相同)。
我们遇到一个网站的问题,当应用程序池回收时,它会重新上线,直到有人试图访问网站(www.something.com),一旦发生这种情况,您会看到网站应用程序池上线在任务管理器中,记录开始在站点中发生。
采取的步骤:
每个站点都有自己的根文件结构和应用程序池
事件查看器不会提及任何问题。
站点日志只显示停止和重新启动的位置。没有错误
所有网站均为.net 2.0 32位
据我所知,似乎应用程序池正在等待访问域的用户启动的请求,但无法确定问题所在。
答案 0 :(得分:5)
这是IIS的标准行为,而不是错误或问题。该站点仅在首次访问时进入内存,通常需要比后续访问更长的时间。我知道让网站始终加载的唯一方法是设置某种cron作业,以便经常轮询网站。还有一些网站监控工具可用于执行此操作以及更多工作,还可以报告网站是否无法访问。
答案 1 :(得分:0)
解决方案是使用简单命令在事件ID 1033上创建计划任务:
powershell -Command "Invoke-WebRequest http://localhost:8081"
从SYSTEM帐户运行
答案 2 :(得分:0)
可以使用当前的 IIS 完成。
只需添加“应用程序初始化模块”,将池启动模式设置为“始终运行”并将站点预加载启用设置为true。
在此处找到答案:Use IIS Application Initialization for keeping ASP.NET Apps alive