windows共享文件夹端口_这三种把.Net Core部署至 Windows 服务的方法,你还不知道吗?...

这篇主要是学习如何在windows 下部署 .net core

为什么部署至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。但是官方的解决方案比较繁琐,而且需要更改部分代码。

第一种方式:控制台运行

打开cmd ,路径定位到项目根目录文件夹,运行dotnet run

e947d46bf65cbaba5b04f52e21bb9834.png

如果端口冲突,可在launchSettings.json 修改对应端口。

运行后会自动监听对应端口,直接访问http://127.0.0.1:5002/api/values 即可调取接口

第二种方式:IIS部署

发布到文件夹binDebugetcoreapp2.1publish

1. 新建IIS站点

端口为9011,程序池设置CLR版本为无托管代码

e882285fb46691a10a74bdc1a78f45c6.png
986a3584ff85be4cce04b0133ee57261.png

2. 安装 .NET Core Windows Server 托管捆绑包

此时访问接口 依然报错,网上查询,还需要安装.NET Core Windows Server 托管捆绑包 。

如果想监听日志,在发布文件夹下新建logs文件夹,然后修改web.config 设置stdoutLogEnabled="true"

此时访问http://127.0.0.1:9011/api/values ,成功调取接口

第三种方式:使用NSSM

后面的代码演示以Asp.net Core 2.1作为演示,其他.Net Core方式一致。

1、确保.Net Core程序可以正常运行

先把Asp.net Core发布,然后直接运行dotnet命令,确保程序可以运行并访问

30fb119c67f754b184a98da0ce3f767b.png

2、使用NSSM安装dotnet

下载NSSM,使用命令窗口至NSSM目录中找到nssm.exe所在的目录,然后运行nssm install,然后会弹框,选择相应的文件和文件夹。

01c288c1b45fd2dde292eb40c69f5452.png

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的更多操作

eeb7e952d0787d4cea6228b75bee01f3.png

比如对服务的增删改查,启动,停止,重启等等。都可以直接用NSSM直接操作,一些常用的操作支持界面话(GUI)。

总结

1、使用NSSM不仅可以把Asp.net Core部署到Windows 服务中,也可以把.Net Core甚至于其他exe程序封装在服务中运行。

2、为.Net Core提供了另一种部署在Windows的方式。

喜欢的话请帮忙转发一下能让更多有需要的人看到吧,有些技术上的问题大家可以多探讨一下。

9d839d2d7bf6fedaeb231d137a575e34.png

以上资料私信回复“Android”即可获取

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值