NSSM是一个服务封装程序,它可以将普通exe程序封装成服务,使之像windows服务一样运行。同类型的工具还有微软自己的srvany,不过nssm更加简单易用,并且功能强大。它的特点如下:
- 支持普通exe程序(控制台程序或者带界面的Windows程序都可以)
- 安装简单,修改方便
- 可以重定向输出(并且支持Rotation)
- 可以自动守护封装了的服务,程序挂掉了后可以自动重启
- 可以自定义环境变量
使用SNNM
先确保发布后的程序能运行 直接dotnet 命令
使用nssm安装netcore
可以把下载好的nssm 添加到环境变量这样比较方便写
运行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 start <servicename>
- 停止服务: nssm stop <servicename>
- 重启服务: nssm restart <servicename>
- 修改服务:nssm edit <servicename>
- 删除服务:nssm remove <servicename>