如何使用nssm将asp.net core/.net6/.net8的webapi项目、mvc项目、控制台项目等注册为windows服务

news/2024/12/28 5:16:10/文章来源:https://www.cnblogs.com/yyee/p/18528220

nssm工具可以将asp.net Framework、asp.net core、net6、.net8的webapi项目、mvc项目、控制台项目、winform项、WPF项目等注册为windows服务。

nssm可以将所有windows可执行文件注册为windows服务。

下面,使用nssm将asp.net8的webapi项目注册为windows服务为例:

 

【第一步】开发一个webapi、或mvc、或控制台项目。

将webapi项目发布到本的文件夹。

 

【第二步】,下载nssm工具。

下载地址:https://nssm.cc/download

下载后无需安装。

nssm常用命令

# 显示服务安装 GUI:
nssm install [<servicename>]# 无需确认安装服务:
nssm install <servicename> <app> [<args> ...]# 显示服务编辑 GUI:
nssm edit <servicename># 直接检索或编辑服务参数:
nssm dump <servicename>               # 导出服务的所有参数
nssm get <servicename> <parameter> [<subparameter>]   # 获取特定服务参数的值
nssm set <servicename> <parameter> [<subparameter>] <value>   # 设置特定服务参数的值
nssm reset <servicename> <parameter> [<subparameter>]   # 重置特定服务参数的值# 显示服务移除 GUI:
nssm remove [<servicename>]# 无需确认移除服务:
nssm remove <servicename> confirm# 管理服务:
nssm start <servicename>     # 启动服务
nssm stop <servicename>      # 停止服务
nssm restart <servicename>   # 重启服务
nssm status <servicename>    # 显示服务状态
nssm statuscode <servicename>   # 显示服务状态码
nssm rotate <servicename>    # 旋转服务日志
nssm processes <servicename> # 显示服务关联的进程

 

【第三步】,编写执行nssm命令的批处理文件

(1)编写安装批处理文件(install.bat),可以随意给批处理文件命名,

chcp 65001
@echo.服务开始启动......
@echo off::
:: nssm install DFStore.CJStoreMgrApi "F:\wwwroot\nssm\DFStore.CJStoreMgrApi\DFStore.CJStoreMgrApi.WebApi.exe" --urls=http://localhost:8051  start=auto 
nssm install DFStore.CJStoreMgrApi "F:\wwwroot\nssm\DFStore.CJStoreMgrApi\DFStore.CJStoreMgrApi.WebApi.exe" --urls=http://*:8051  start=auto
:: sc config DFStore.CJStoreMgrApi start= auto
nssm start DFStore.CJStoreMgrApi
@echo off
@echo.服务启动完毕!
@pause

 

 参数 --urls是指定webapi站点启动的端口

 

(2)编写移除服务的批处理文件(remove. bat)

chcp 65001
@echo off
@echo.开始删除服务......
nssm stop DFStore.CJStoreMgrApi
nssm remove DFStore.CJStoreMgrApi
@echo off
@echo.服务删除完毕!
@pause

 

 批处理文件所在目录,可以随意指定。

 【第四步】 将asp.net webapi项目发布后的.exe文件安装windows服务

(1) 将下载的nssm文件copy到 install.bat 与 remove.bat的同级目录,

copy到批处理命令的同级目录是为了方便管理,也可以不copy到同级目录,这时在编写的install.bat与remove.bat文件里需要指定nssm的绝对路径。

(2)将webapi项目注册为windows服务

用超级管理员权限打开cmd窗口,执行【intall.bat】批处理文件就可以将webapi项目注册为windows服务了。

在cmd窗口中定位到install.bat的所在目录,执行 【nstall.bat】批处理文件安装服务

 服务安装成功,执行 services.msc命令打开服务管理窗口,查看服务启动情况

 服务安装完成。

 

【第5步】御载服务

执行前面写后的 【remove.bat】批处理文件

 选择是,确定移除服务。

 服务御载完成。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/827219.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

转 分布式执行计划

###sample 1 https://open.oceanbase.com/blog/1100217?_gl=1*10gldye*_ga*Mjc3Nzg0NTIwLjE3MzA3ODg3NDI.*_ga_T35KTM57DZ*MTczMDc5NDE2Ny4yLjEuMTczMDc5NTk5NC42MC4wLjA.本文介绍 OceanBase 的 SQL 执行类型。分布式数据库下数据分布在各个节点,SQL 很有可能会跨节点取数据。…

中公网校视频课件课程下载工具,如何在电脑端下载中公网校视频课件资料到本地?

一. 安装中公网校课程下载器 1.获取学无止下载器 https://www.xuewuzhi.cn/eoffcn_downloader 2.下载安装后,然后点击桌面快捷方式运行即可。 注意:杀毒软件可能会阻止外部exe文件运行,并将其当做成病毒,直接添加信任即可,本软件绝对没有木马病毒。 二. 使用说明 1.学无止…

后端整合 Swagger + Knife4j 接口文档

后端整合 Swagger + Knife4j 接口文档什么是接口文档?写接口信息的文档,每条接口包括:请求参数 响应参数错误码接口地址 接口名称 请求类型 请求格式 备注who 谁用?一般是后端或者负责人来提供,后端和前端都要使用 为什么需要接口文档?有个书面内容(背书或者归档),便于…

start-all.sh脚本启动Hadoop的NameNode、DataNode、ResourceManager和NodeManager失败

今天在做大数据实验时,在终端,start-all.sh脚本启动Hadoop的NameNode、DataNode、ResourceManager和NodeManager失败,出现下面的错误信息: [root@node1 hadoop]# ./sbin/start-all.shStarting namenodes on [node1]ERROR: Attempting to operate on hdfs namenode as rootE…

Dash 2.18.2版本更新:模式匹配回调性能大提升

本文示例代码已上传至我的Github仓库:https://github.com/CNFeffery/dash-master Gitee同步仓库地址:https://gitee.com/cnfeffery/dash-master大家好我是费老师,今天Dash发布了2.18.2版本更新,虽然只是一次小版本更新,但其中涉及到的一些内容还是非常重要的,今天的文章中…

华为云:弹性负载均衡健康检查异常

动态负载均衡健康检查异常 健康检查基本配置如下: 其中内网IP和默认业务端口可以在负载均衡服务器→后端服务器组中查看即实际上的监听对象为192.168.0.170:8889。 健康检查异常说明健康检查curl这两个监听未返回200,去网络控制台→访问控制:安全组→default→入方向规则,查…

合规监管新趋势!智能合同审查免费体验,提升法律行业合同管理效率

思通数科 思通数据 思通数科推出的智能合同审查系统为这些痛点提供了解决方案。借助大模型、OCR和信息抽取等先进技术,系统具备高效要素抽取、自动分类、合同比对和合同审查等功能。以下是该系统的主要功能及用户体验案例,展示了在法律行业中的实际应用效果。应用案例:法律行…

UE Slate渲染流程

【USparkle专栏】如果你深怀绝技,爱“搞点研究”,乐于分享也博采众长,我们期待你的加入,让智慧的火花碰撞交织,让知识的传递生生不息!一、前言本文将深入探讨Slate的渲染流程及其相关细节。将详细讲解Slate如何将UI元素渲染到屏幕上,以及它是如何处理各种渲染细节以实现…

【HT-030-Div.1】核桃NOIP组周赛 赛后总结

总结T2爆零了,核桃oj不能缩放 别人题目(100%)我的题目(125%)

PCIe系列专题之二:2.5 Flow Control缓存架构及信用积分

一、故事前传 之前我们讲了对PCIe的一些基础概念作了一个宏观的介绍,了解了PCIe是一种封装分层协议(packet-based layered protocol),主要包括事务层(Transaction layer), 数据链路层(Data link layer)和物理层(Physical layer)。较为详细解释请见之前的文章: 1. PCIe技…

PCIe系列专题之二:2.7 Flow Control的实现过程

一、故事前传 之前我们讲了对PCIe的一些基础概念作了一个宏观的介绍,了解了PCIe是一种封装分层协议(packet-based layered protocol),主要包括事务层(Transaction layer), 数据链路层(Data link layer)和物理层(Physical layer)。较为详细解释请见之前的文章: 1. PCIe技…

cron定时任务报错PAM unable to dlopen(pam_tally2.so): /lib/security/pam_tally2.so

在Ubuntu 22.04中,pam_tally2模块可能已经不再被支持或包含在系统默认的PAM模块中。因此,当系统尝试加载该模块时,无法找到对应的.so文件,需要使用pam_faillock.so来代替 先查找下是否存在pam_faillock.so模块 find /usr -name "pam_*.so"没有 pam_tally2.so ,复…