使用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 Files\dotnet\dotnet.exe;

Startup directory:程序所在的目录,就是最后程序dll所在的目录;

Arguments:程序dll的名称,一般是项目名加上.dll;

Service name:在此写上服务的名称即可。

然后点击Install service按钮就完成了部署。

最后到Windows服务管理界面找到安装的服务名称,右键启动即可,这样就可以非常简单的把.Net Core托管至Window服务中。方便管理、启动、停止等等。

以上转载自:

作者:Emrys 
出处:http://www.cnblogs.com/emrys5/

配置IIS做反向代理

下载安装Application Request Routing: https://www.iis.net/downloads/microsoft/application-request-routing

1、安装成功后重新打开iis控制台,在iis面板上会多出URL重写和ARR组件图标:
 
 
2、在IIS左边点击根节点找到上图中的 第一个红圈中图标双击打开,然后点击右边的Proxy 下面的  Server Proxy Settings.

3、直接勾选上下图的红圈的地方,其他不用管

4、在IIS中新建站点--TestWeb

5、点击IIS左边菜单中新建的站点TestWeb,在右边功能视图中双击"URL重写"模块打开。

6、点击右上边操作栏中的“添加规则”,弹出如下图的弹框,然后双击弹框中的“反向代理”。

7、然后将要转发的域名或者ip地址填入进去,然后点击确定,现在访问TestWeb的地址即可发现以转发到刚填入的地址中了

最新文章

  1. SQL Server读写分离实现方案简介
  2. ie7下的javascript兼容
  3. 【题解】【BT】【Leetcode】Binary Tree Level Order Traversal
  4. 第一个项目--用bootstrap实现美工设计的首页
  5. DataGrid中取HyperLinkColumn列的值,处理DataGrid中绑定的特殊字符
  6. 【POJ 3279 Fliptile】开关问题,模拟
  7. isNUll ,对于sql中的一个表的description的NULL和空格的处理
  8. Delphi下用API代码创建Form
  9. JavaScript中的作用域和声明提前
  10. Step one : 熟悉Unix/Linux Shell 常见命令行 (四)
  11. windows系统下安装node
  12. Django--ORM相关操作
  13. Linux 细节(杂)
  14. php session的一些操作
  15. 超图不支持JPEG格式的WMTS服务
  16. Netdata---Linux系统性能实时监控平台部署记录
  17. imrersize函数
  18. Linux 限制用户远程SSH登录
  19. C#访问MySQL数据库帮助类
  20. OpenGL入门程序二:绘制简单的圆

热门文章

  1. 40、js技巧(持续更新。。。)
  2. 如何将一个div盒子水平垂直都居中?
  3. Java abstract关键字 抽象类 抽象方法
  4. MySQL--performance schema学习
  5. pandas的pivot_table
  6. Django如何与ajax通信
  7. python测试开发django-66.图片403forbidden
  8. LGOJP3193 [HNOI2008]GT考试
  9. 项目Beta冲刺(团队5/7)
  10. 如果wordpress分类只有一篇文章则直接跳转到文章页