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

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

时间:2024-11-05 16:57:21浏览次数:1  
标签:webapi core bat 服务 nssm 项目 DFStore CJStoreMgrApi

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

不仅限于上面这些,nssm可以将所有windows可执行文件注册为windows服务。

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

 

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

将webapi或mvc、或控制台项目发布到本的文件夹。

 

【第二步】,下载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】批处理文件

 选择是,确定移除服务。

 服务御载完成。

标签:webapi,core,bat,服务,nssm,项目,DFStore,CJStoreMgrApi
From: https://www.cnblogs.com/yyee/p/18528220

相关文章

  • PMP考试必备工具:最优秀的项目管理软件有哪些?
    在准备PMP(项目管理专业人士)考试的过程中,了解和熟悉项目管理工具是非常重要的一环。尽管PMP更多关注的是项目管理的知识体系(如PMBOKGuide中的流程、知识领域、工具与技术等),但了解一些常见且优秀的项目管理软件工具,能够帮助你更好地理解实际项目管理中的应用场景,也有助于提升......
  • 黑马PM-电商项目-直播电商
    直播电商项目背景直播电商的设计思路直播电商的产品设计直播电商的关键技术......
  • 掌握这五大关键,轻松驾驭AI大模型项目落地
    随着AI技术的蓬勃发展,众多企业纷纷投身于大模型项目的浪潮中,力求在这场技术革新中占据一席之地。然而,成功与失败并存,背后的原因引人深思。本文将为您揭示五大关键因素,助您轻松驾驭AI大模型项目的落地过程。一、业务人员的深度参与与引领在AI大模型项目中,业务人员的角色至......
  • 黑马PM-电商项目-分销电商
    分销电商项目背景分销电商的优势分销电商搭建思路分销电商产品设计......
  • 基于java中的SSM框架实现新能源汽车在线租赁管理系统项目【内附项目源码+论文说明】
    基于java中的SSM框架实现新能源汽车在线租赁管理系统演示【内附项目源码+LW说明】摘要随着科学技术的飞速发展,社会的方方面面、各行各业都在努力与现代的先进技术接轨,通过科技手段来提高自身的优势,新能源汽车在线租赁当然也不能排除在外。新能源汽车在线租赁是以实际运用......
  • 基于java中的SSM框架实现亚盛汽车配件销售业绩管理系统项目【附项目源码+论文说明】
    基于java中的SSM框架实现亚盛汽车配件销售业绩管理系统演示【内附项目源码+LW说明】摘要如今的信息时代,对信息的共享性,信息的流通性有着较高要求,因此传统管理方式就不适合。为了让亚盛汽车配件销售信息的管理模式进行升级,也为了更好的维护亚盛汽车配件销售信息,亚盛汽车配......
  • CentOS 7 下安装部署.NET Core多版本环境
    文章目录一、前言1、什么时候需要配置多环境?2、环境信息二、部署过程1、SDK下载&安装基础依赖2、配置环境入口三、问题一、前言1、什么时候需要配置多环境?.NETCore作为.NET的开源版本,可以说是非常拥抱开源了,更新的力度也非常给力。却也从开源世界学了点坏东西,那......
  • 计算机毕业设计项目推荐,高校学生社团管理系统 00498(开题答辩+程序定制+全套文案 )上万
    摘要随着计算机科学技术的日渐成熟,人们已经深刻地认识到了计算机在各个领域中发挥的功能的强大,计算机已经进入到了人类社会发展的各个领域,并且发挥着十分重要的作用。目前学校学生社团的管理是一项系统而复杂的工作,它需要一个团队互相配合、分工协作。在该领域,传统的手工存取......
  • 全自动定位九块九付费进群系统源码免公众号搭建/9.9流量掘金项目系统源变开发
    在当今数字化时代,软件开发已成为许多企业和个人实现业务目标和创意的重要手段。付费源码开发搭建作为一种高效、定制化的开发模式,正受到越来越多人的青睐。本文将深入探讨付费源码开发搭建的全过程,从项目规划、选择开发者、源码获取、环境搭建、代码部署到后期维护,并提供一个简化......
  • vue前端项目部署的一点小tip
    一个典型的前后端分离项目,前端分用户入口和管理员入口,一般希望这样部署:https://mydomain.com/   普通用户入口https://mydomain.com/admin/ 管理员入口关键就是在vite.config.ts里要这么指定base:base:'./'这样build出来的文件,不管放在哪个项目下面都可以正常运行,......