• 使用NSSM将.net core WebApi项目发布为windows服务(转载)


    NSSM 介绍

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

    支持普通exe程序(控制台程序或者带界面的Windows程序都可以)
    安装简单,修改方便
    可以重定向输出(并且支持Rotation)
    可以自动守护封装了的服务,程序挂掉了后可以自动重启
    可以自定义环境变量
    这里面的每一个功能都非常实用,使用NSSM来封装服务可以大大简化我们的开发流程了。

    开发的时候是一个普通程序,降低了开发难度,调试起来非常方便
    安装简单,并且可以随时修改服务属性,更新也更加方便
    可以利用控制台输出直接实现一个简单的日志系统
    不用考虑再加一个服务实现服务守护功能

    安装与发布

    1、下载nssm

    下载地址:http://www.nssm.cc/download

    将下载的压缩包解压

    2、将.net core 项目发布

    方式一:直接发布

     1、借助VS2022发布WebApi,参考下述界面设置发布即可。(对于asp.net core 程序,官方给出了两种部署模式----依赖部署及独立部署,官方默认的模式为依赖部署。)

     2.使用nssm按照asp.net core 为windows服务

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

    Path:独立部署模式发布的asp.net core webapi 的程序exe;

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

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

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

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

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

    命令窗口至NSSM目录中找到nssm.exe所在的目录,然后运行nssm,会看到NSSM的更多操作

    方式二:使用.bat

    1、创建.net core 项目bat启动脚本命令文件,命名为Start.bat,脚本代码如下

    cd %~dp0
    dotnet WebAPICore.dll
    pause

    将bat文件放入.net core 发布包的文件夹下

    注:WebAPICore.dll为发布的.net core的项目名称;根据实际项目名称来写

     2、使用nssm安装服务

    1)以管理员身份运行cmd,通过cd命令进入nssm.exe文件夹

     2)执行命令 nssm insatll WebApiService(注:WebApiService为服务名称,可根据实际情况命名服务名称)

    Path 中输入.net core webapi  Start.bat文件路径

    Starup directory  选择.net core webapi发布文件路径

    然后点击Install service

    然后在服务中会看到安装的.net core 项目的服务

    NSSM常用命令

    安装服务:nssm install 服务名
    删除服务:nssm remove 服务名
    删除服务确定:nssm remove 服务名 confirm
    修改服务(显示界面修改):nssm edit 服务名
    启动服务:nssm start 服务名
    停止服务:nssm stop 服务名
    重启服务:nssm restart 服务名

     更多命令请参考官网说明:https://nssm.cc/commands

    文章内容转载,参考下述链接:

    https://blog.csdn.net/liwan09/article/details/119530286

    https://www.cnblogs.com/defly/p/15919817.html

  • 相关阅读:
    [POJ1724]ROADS
    表达式求值
    [NOIp2017提高组]奶酪(BFS)
    [NOIp2012提高组]Vigenère 密码
    [NOIp2012提高组]国王游戏
    [POJ1321]棋盘问题
    [POJ3009]Curling2.0
    垃圾陷阱
    2019CSP day1t2 括号树
    2019CSP游记
  • 原文地址:https://www.cnblogs.com/riddly/p/16130905.html
Copyright © 2020-2023  润新知