转自: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的方式。
相关推荐
把一些exe程序封装成Windows服务,然后exe程序就像服务一样运行。而且NSSM功能强大,运行更简单,界面化傻瓜化处理方式。也可以把.Net Core webapi项目添加到服务当做守护进程使用
我今天是把它搭建到windows服务上的,这种方式对于我们现有dotnet来说相对美观(一个黑框框,一个看不到),电脑重启可以自动重启。 1.实现 1.1.下载nssm 官网http://www.nssm.cc/,下载地址...
.net Core Job Windows 环境部署,借助nssm.exe第三方组件,.net Core Job Linux部署,借助第三方组件supervisord守护进程。
NSSM是一个服务封装程序,它可以将普通exe程序封装成服务,使之像windows服务一样运行。同类型的工具还有微软自己的srvany,不过nssm更加简单易用,并且功能强大。它的特点如下: 支持普通exe程序(控制台程序或者...
Windows使用NSSM将任意exe封装为服务
将java应用程序做成开机自启动服务,附件中通过nssm将jar应用程序做成服务的操作说明及实例。下载即可运行,可仿照类似做成服务! 第一步: 将 jar 包及其依赖包放置运行目录. 假设目录结构为 /lib(第三方依赖) app...
nssm python fastapi 转服务软件
NSSM是一个服务封装程序,它可以将普通exe程序或bat文件封装成服务,使之像windows服务一样运行。 NSSM常用命令,如下: 1.安装服务:nssm install 服务名称 2.删除服务:nssm remove 服务名称 3.删除服务确定:...
使用Nssm部署Exe程序为服务,简单快捷
NSSM 工具,用于建立windows服务2.24-101版支持win10
NSSM:封装exe和cmd为Windows系统服务 NSSM是一个服务封装程序,它可以将普通exe程序封装成服务,使之像windows服务一样运行。同类型的工具还有微软自己的srvany,不过nssm更加简单易用,并且功能强大。
支持将任意程序注册为Windows服务(命令行带GUI操作)
NSSM是一个服务封装程序,它可以将普通exe程序封装成服务,使之像windows服务一样运行。简单易用,并且功能强大。它的特点如下: 支持普通exe程序(控制台程序或者带界面的Windows程序都可以) 安装简单,修改方便 ...
windows环境下nssm配置logstash为系统服务
windows服务注册工具。
使用bat脚本和Nssm工具,安装、卸载、启动、停止、重启 Windows服务 注: 1、脚本文件必须使用管理员身份运行 2、脚本中使用的是wexflow服务,具体根据实际情况修改即可 3、基于Nssm控制服务的脚本(使用指定用户...
winser, 使用nssm将 node.js 应用程序作为窗口服务运行 WinSer使用 nssm node.js 应用程序作为 Windows 服务运行。安装$ npm install winser 命令行 参数-v, --version show vinser versi
一种非吸附式服务管理工具,可用于注册服务,并管理,空用于在服务列表中注册node.js服务,以及其他需要注册的服务 不需要安装,下载后减压,在对应系统位数文件下进入cmd命了模式,在命了中运行nssm即可
NSSM是一个服务封装程序,它可以将普通exe程序封装成服务,使之像windows服务一样运行。同类型的工具还有微软自己的srvany,不过nssm更加简单易用,并且功能强大。它的特点如下: 支持普通exe程序(控制台程序...
window上的神器,用于管理windos上的服务,可以让服务在后台运行,而不用单独打开一个窗口,比如redis,不需要每次开机都打开一个窗口启动redis