使用NSSM将.Net Core项目部署至Windows服务

需积分: 13 8 下载量 73 浏览量 更新于2024-09-05 收藏 233KB DOCX 举报
使用NSSM把.Net Core部署至Windows服务 NSSM(Non-Sucking Service Manager)是一种功能强大且易用的Windows服务管理器,可以将exe程序封装成Windows服务,使得exe程序像服务一样运行。NSSM提供了界面化傻瓜化处理方式,使得使用者可以轻松地将.Net Core webapi项目添加到服务当做守护进程使用。 为什么部署至Windows服务 ------------------------ 在很多情况下,很少会把.Net Core项目部署至Windows服务中,特别是Asp.net Core就更少了。一般情况下,Asp.net Core会部署至Linux服务器,或者部署至Windows的IIS中。但也不排除会有Asp.net Core部署至Windows服务中的情况,比如Windows服务器并没有安装IIS,或者Asp.net Core中存在一些定时任务,需要实时运行,等等一些情况。 微软解决方案 ---------------- 微软也提供了.Net Core部署至Windows服务的解决方案,应该说是Asp.net Core的解决方案。可以参看官方文档https://docs.microsoft.com/zh-cn/aspnet/core/host-and-deploy/windows-service?view=aspnetcore-2.1&tabs=aspnetcore2x。但是官方的解决方案比较繁琐,而且需要更改部分代码。 什么是NSSM? ------------- NSSM是一个功能强大且易用的Windows服务管理器,可以将exe程序封装成Windows服务,然后exe程序就像服务一样运行。NSSM官网http://www.nssm.cc/,下载地址http://www.nssm.cc/download。 使用NSSM --------- 使用NSSM可以将.Net Core webapi项目添加到服务当做守护进程使用。下面是使用NSSM将Asp.net Core 2.1项目部署至Windows服务的步骤: 1. 确保.Net Core程序可以正常运行 2. 使用NSSM安装dotnet 下载NSSM,使用命令窗口至NSSM目录中找到nssm.exe所在的目录,然后运行nssminstall,然后会弹框,选择相应的文件和文件夹。 * Path:dotnet所在的目录,一般默认是在C:\Program Files\dotnet\dotnet.exe; * Startup directory:程序所在的目录,就是最后程序dll所在的目录; * Arguments:程序dll的名称,一般是项目名加上.dll; * Servicename:在此写上服务的名称即可。 然后点击Install service按钮就完成了部署。最后到Windows服务管理界面找到安装的服务名称,右键启动即可,或者直接运行nssm start。 守护进程 --------- NSSM可以将.Net Core webapi项目添加到服务当做守护进程使用,使得exe程序像服务一样运行。这使得.Net Core项目可以实时运行,满足了很多情况下的需求。 总结 ---- 使用NSSM可以轻松地将.Net Core项目部署至Windows服务中,使得exe程序像服务一样运行。这使得.Net Core项目可以实时运行,满足了很多情况下的需求。NSSM提供了界面化傻瓜化处理方式,使得使用者可以轻松地将.Net Core webapi项目添加到服务当做守护进程使用。