用NSSM把.Net Core部署至 Windows 服务
为什么部署至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 Filesdotnetdotnet.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的方式。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 在Windows中使用vCard进行UTF8编码
- windows-server-2008-r2 – 虚拟机内的磁盘延迟
- 内存管理 – 如何在UWP App运行时查看(近似)内存使用情况
- 当中央存储库位于Windows文件共享上时,对多个用户使用git是
- Windows Phone 7 – 通过Proxy使用RestSharp进行Web请求
- windows-installer – InstallShield如何永不覆盖文件
- 是否可以在Windows 7上使用PhoneGap开发iOS应用程序?
- pycharm安装激活
- xaml – 如何检测Windows Mobile转换为连续模式?
- 在Windows 7上升级权限后,Esky冻结了
- wpf – Datagrid SelectedItem在window.IsEnable
- windows-server-2003 – MSDEPLOY是否为审计目的
- windows – 使用7z.exe递归解压缩
- windows-server-2008 – 如何监控Adaptec / Inte
- ipa上传反馈请修改应用程序info.plist文件中相关
- .net – 无法解析Assembly.dll的汇编
- windows – 使用PowerShell重命名文件
- window系统下的pycharm对虚拟机中的Ubuntu系统操
- 是否可以在Windows 10上创建支持ipv4的Docker Ma
- Windows Server 2008 R2 搭建FTP服务