转自:https://www.cnblogs.com/emrys5/p/nssm-netcore.html
为什么部署至Windows Services
在很多情况下,很少会把.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?
官网http://www.nssm.cc/,下载地址http://www.nssm.cc/download
简单点理解就是NSSM可以把一些exe程序封装成Windows服务,然后exe程序就像服务一样运行。而且NSSM功能强大,运行更简单,界面化傻瓜化处理方式。
使用NSSM
后面的代码演示以Asp.net Core 2.1作为演示,其他.Net Core方式一致。
1、确保.Net Core程序可以正常运行
先把Asp.net Core发布,然后直接运行dotnet命令,确保程序可以运行并访问
2、使用NSSM安装dotnet
下载NSSM,使用命令窗口至NSSM目录中找到nssm.exe所在的目录,然后运行nssm install,然后会弹框,选择相应的文件和文件夹。
Path:dotnet所在的目录,一般默认是在C:\Program Files\dotnet\dotnet.exe;
Startup directory:程序所在的目录,就是最后程序dll所在的目录;
Arguments:程序dll的名称,一般是项目名加上.dll;
Service name:在此写上服务的名称即可。
然后点击Install service按钮就完成了部署。
最后到Windows服务管理界面找到安装的服务名称,右键启动即可,或者直接运行nssm start 服务名称,也可以运行net start 服务名称。这样就可以非常简单的把.Net Core托管至Window服务中。方便管理、启动、停止等等。
NSSM更多的操作
命令窗口至NSSM目录中找到nssm.exe所在的目录,然后运行nssm,会看到NSSM的更多操作
比如对服务的增删改查,启动,停止,重启等等。都可以直接用NSSM直接操作,一些常用的操作支持界面话(GUI)。
更多NSSM详情可以参考:http://www.nssm.cc/usage
总结
1、使用NSSM不仅可以把Asp.net Core部署到Windows 服务中,也可以把.Net Core甚至于其他exe程序封装在服务中运行。
2、为.Net Core提供了另一种部署在Windows的方式。
相关推荐
使用 NSSM 把 .Net Core 部署至 Windows 服务 在日常开发中,我们经常需要将 .Net Core 项目部署到 Windows 服务中,以便于更好地管理和维护。NSSM(Non-Sucking Service Manager)是一个功能强大且简单易用的工具...
在Windows环境下部署.NET Core Job,我们主要依赖一个名为nssm(Non-Sucking Service Manager)的第三方工具。nssm是一个服务安装程序,可以将任意可执行文件作为Windows服务来运行。以下是使用nssm部署.NET Core ...
NSSM是一个服务封装程序,它可以将普通exe程序封装成服务,使之像windows服务一样运行。同类型的工具还有微软自己的srvany,不过nssm更加简单易用,并且功能强大。它的特点如下: 支持普通exe程序(控制台程序或者...
`nssm`是一个开源的服务封装程序,它的目标是简化将常规的可执行文件(`.exe`)转换为Windows服务的过程。与微软的`srvany`工具相比,`nssm`在易用性和功能上有所超越。`srvany`虽然也能将任意可执行文件转换为服务...
Windows 环境下使用 NSSM 配置 Logstash 为系统服务 在 Windows 环境下,NSSM(Non-Sucking Service Manager)是一个功能强大的服务管理工具,能够帮助我们轻松地将 Logstash 配置为系统服务。本文将指导您如何使用...
本文将详细介绍如何使用NSSM 2.24版本将任意exe封装为服务。 首先,NSSM是一个免费的开源工具,用于将任何应用程序转换为Windows服务。它的主要优点在于简单易用,同时提供了丰富的配置选项,使开发者或系统管理员...
使用NSSM创建的服务可以通过Windows服务管理器(services.msc)进行查看、启动、停止和配置。这使得即使在没有图形界面的服务器环境中,也能轻松管理和控制这些服务。 总的来说,NSSM是一个强大的工具,它简化了在...
4. **启动/停止服务**:配置完成后,使用nssm启动或停止服务,或者通过Windows服务管理器进行控制。 5. **卸载服务**:如果不再需要该服务,可以通过nssm的“Remove service”选项将其卸载。 **应用实例** nssm常...
标题中的“nssm python fastapi 转服务软件”表明我们要探讨的是如何将一个基于Python和FastAPI构建的应用程序转换为Windows服务,利用nssm(Non-Sucking Service Manager)工具来实现这一目标。nssm是一个轻量级的...
**标题解析:** ...总之,nssm是一个强大且灵活的工具,为Windows用户提供了一种简单的方式来管理服务,特别适合开发者和系统管理员在日常工作中使用。其开源特性进一步增强了其在IT社区中的吸引力和实用性。
将java应用程序做成开机自启动服务,附件中通过nssm将jar应用程序做成服务的操作说明及实例。下载即可运行,可仿照类似做成服务! 第一步: 将 jar 包及其依赖包放置运行目录. 假设目录结构为 /lib(第三方依赖) app...
为了在Windows上将其作为服务运行,我们需要使用非守护进程(Non-Sucking Service Manager,简称NSSM)。`nssm-2.24.zip`提供了这个工具,用于将任意可执行程序注册为Windows服务。解压并运行nssm.exe,指定Kafka的`...
使用bat脚本和Nssm工具,安装、卸载、启动、停止、重启 Windows服务 注: 1、脚本文件必须使用管理员身份运行 2、脚本中使用的是wexflow服务,具体根据实际情况修改即可 3、基于Nssm控制服务的脚本(使用指定用户...
**nssm (Not Sucking Service Manager) 是一个在Windows操作系统上用于管理和控制服务的工具。它不是一个源码,而是一个实用程序,旨在提供一种更方便的方式来后台运行那些通常需要用户界面来启动的应用程序,例如...
总的来说,Nssm是一个非常实用的工具,对于开发者和系统管理员来说,它提供了一种快速部署和管理Windows服务的方式,尤其适合那些不支持直接作为服务运行的小程序。通过熟练掌握Nssm的使用,你可以更高效地管理和...
NSSM是一个服务封装程序,它可以将普通exe程序或bat文件封装成服务,使之像windows服务一样运行。 NSSM常用命令,如下: 1.安装服务:nssm install 服务名称 2.删除服务:nssm remove 服务名称 3.删除服务确定:...
标题中的“将控制台程序转换为Windows服务的软件”指的是将编写好的控制台应用程序通过特定方式注册为Windows操作系统下的服务,使得程序可以在后台自动运行,不受用户登录状态的影响。这通常用于需要持续运行且不需...
NSSM是一个服务封装程序,它可以将普通exe程序封装成服务,使之像windows服务一样运行。简单易用,并且功能强大。它的特点如下: 支持普通exe程序(控制台程序或者带界面的Windows程序都可以) 安装简单,修改方便 ...
在Java开发过程中,将项目部署到Windows服务器上通常需要配置JDK环境、设置系统路径、配置服务器环境等繁琐步骤。然而,通过特定的技术和工具,我们可以实现Java项目的Windows环境一键部署,大大简化了运维工作。...