为什么部署至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 服务的更多相关文章

  1. NSSM把.Net Core部署至 Windows 服务

    NSSM把.Net Core部署至 Windows 服务 https://www.cnblogs.com/emrys5/p/nssm-netcore.html 为什么部署至Windows Servic ...

  2. .net core 部署到windows服务上的方法

    前言 Net core 项目部门在Windows有很多种方式,大致有以下几种, dotnet 命令, iis(windowshosts), 一些开源的应用容器(docker ) 基于一些exe 程序, ...

  3. net core 部署到windows 服务

    NSSM是一个服务封装程序,它可以将普通exe程序封装成服务,使之像windows服务一样运行.同类型的工具还有微软自己的srvany,不过nssm更加简单易用,并且功能强大.它的特点如下: 支持普通 ...

  4. NET Core 部署到 Windows服务

    https://www.cnblogs.com/linezero/p/5159927.html https://www.cnblogs.com/emrys5/p/nssm-netcore.html h ...

  5. asp.net core 托管到windows服务,并用iis做反向代理

    使用NSSM把.Net Core部署至 Windows 服务   为什么部署至Windows Services 在很多情况下,很少会把.Net Core项目部署至Windows服务中,特别是Asp.n ...

  6. .net core 部署到windows上的方法与 系统中相关问题的解决

    前言 Net core 项目部门在Windows有很多种方式,大致有以下几种, dotnet 命令, iis(windowshosts), 一些开源的应用容器(docker ) 基于一些exe 程序, ...

  7. .NET Core Generic Host Windows服务部署使用Topshelf

    此文源于前公司在迁移项目到.NET Core的过程中,希望使用Generic Host来管理定时任务程序时,没法部署到Windows服务的问题,而且官方也没给出解决方案,只能关注一下官方issue # ...

  8. 利用Topshelf把.NET Core Generic Host管理的应用程序部署为Windows服务

    背景 2019第一篇文章. 此文源于前公司在迁移项目到.NET Core的过程中,希望使用Generic Host来管理定时任务程序时,没法部署到Windows服务的问题,而且官方也没给出解决方案,只 ...

  9. ASP.NET Boilerplate 学习 AspNet Core2 浏览器缓存使用 c#基础,单线程,跨线程访问和线程带参数 wpf 禁用启用webbroswer右键菜单 EF Core 2.0使用MsSql/MySql实现DB First和Code First ASP.NET Core部署到Windows IIS QRCode.js:使用 JavaScript 生成

    ASP.NET Boilerplate 学习   1.在http://www.aspnetboilerplate.com/Templates 网站下载ABP模版 2.解压后打开解决方案,解决方案目录: ...

随机推荐

  1. java之SpringMVC配置!配置!配置!

    工欲善其事,必先利其器,要想使用SpringMVC自然要先把配置文件写好. 1.web.xml文件 新建web项目之后webRoot目录下面会有一个web.xml文件,我们先来对其进行配置. < ...

  2. 拖拽模块move2

    之前的模块代码太死板了,由于内部定义了控件的ID,使用起来很不方便,so-----直接看代码 <script> var move =(function(){ function drop(b ...

  3. maven仓库添加jar架包

    推荐几个好的 Maven 常用仓库网址:http://mvnrepository.com/http://search.maven.org/http://repository.sonatype.org/ ...

  4. Spring Cloud Config - RSA简介以及使用RSA加密配置文件

    简介 RSA非对称加密有着非常强大的安全性,HTTPS的SSL加密就是使用这种方法进行HTTPS请求加密传输的.因为RSA算法会涉及Private Key和Public Key分别用来加密和解密,所以 ...

  5. Linnux入门之简介

    一.Linux简介 Minix(教授实验) -> Linux(大三学生Linus)企鹅作为吉祥物 linux主要分为内核版本和发行版本 linux 内核版本 :官网下载:https://www. ...

  6. windows下安装mysql-5.7.11-winx64

    1.解压.   2.将『D:\Program Files\mysql-5.7.11-winx64\bin』加入系统环境变量.   3.修改my-default.ini.   4.初始化data目录,在 ...

  7. textarea 里设置 style="resize:none"

    禁止textarea拉伸的方法是::                                    设置这个 style="resize:none" 属性 例子: < ...

  8. linux ulimit 调优

    概要:linux系统默认open files数目为1024, 有时应用程序会报Too many open files的错误,是因为open files 数目不够.这就需要修改ulimit和file-m ...

  9. 【一通百通】Bash的单双括号建议:多用[[]], 少用[]

    一. bash [  ] 单双括号 基本要素: Ø  [ ] 两个符号左右都要有空格分隔 Ø  内部操作符与操作变量之间要有空格:如  [  “a”  =  “b”  ] Ø  字符串比较中,> ...

  10. 拿到6个重磅offer的大神,超详细面试经验总结

    本人是国内某财经院校的小本,学校不算很有名,也没有很好的硬件条件,但是很幸运的在这样的就业大环境里拿了6个OFFER,其中包括一些股份制商业银行的总行,4大国有商业银行的省行,以及国内最一流国企的省公 ...