用于Asp.Net Core的Kestrel网络服务器 – 在一段时间后回收/重新加载

简单的菜鸟问题:-)

我即将投入使用一个小型.NET核心应用程序主机,该主机托管在digitalocean的Droplet中.我一直使用IIS托管网站,但我想转移到Linux发行版并使用nginx作为反向代理.

我的问题是标题说:-)是否每次都需要像IIS一样回收“应用程序池”?如果没有,这是否意味着应用程序从Kestrel加载是在线直到它关闭?

最好的祝福

最佳答案
根据观察所有http://live.asp.net社区站立会议的信息,我不这样做,Kestrel不像IIS那样回收自己.

原因是,如果Kestrel停止,它目前无法自行重启.这就是为什么将它置于某种反向代理(如IIS或nginx)之后的重要原因之一.这种过程生命周期管理功能目前必须来自Kestrel之外的软件层.如果Kestrel由于软件错误或其他原因而死亡,并且没有反向代理或其他进程重新启动它,它将不会自行重启并且网站将保持不变.

有关其他信息,本文将讨论如何发布到Linux生产环境,并包含一个示例nginx系统服务文件,其中包含Restart = always https://docs.microsoft.com/en-us/aspnet/core/publishing/linuxproduction

转载注明原文:用于Asp.Net Core的Kestrel网络服务器 – 在一段时间后回收/重新加载 - 代码日志