.net Core在windows注册服务,并开机启动

首次发布:2019-09-28

   

    在这里我用的是nssm 下载地址http://www.nssm.cc/download

   

   

    1、下载后解压 我在这里是解压到D:\2\这个目录

    2、运行CMD  有的电脑要管理员权限运行cmd  

    3、cmd 移到 d:\2\这个目录   cd  /d d:\2\

    4、运行命令 nssm install lqwvje    //lqwvje 是要注册的服务名称  只要不要跟系统冲突 可以随意写 

   

有些API或web要加指定端口,则Arguments参数为 ConsoleApp1.dll --urls="http://*:5100"

    如果没有C:\Program Files\dotnet\dotnet.exe则下载  .net core 运行环境,下载地址  https://dotnet.microsoft.com/download/dotnet-core

   

   

    如果不重启电脑  有两种方式启动服务(重启电脑,会自动运行)

    方法一:用nssm  自带命令 更多的命令在  http://www.nssm.cc/commands

    nssm start <servicename>

    nssm stop <servicename>

    nssm restart <servicename>

我们这里就用  nssm start  lqwvje

   

    方法二

   

    我第一次碰到这种情况  无法启动服务,原因是我  发布时  部署方式 生成了独立,要用依赖框架

    用独立模式就会报下面的错误 无法启动服务

   

    windows 无法启动 服务(位于 本地计算机 上) 服务并未返回错误。这可能是一个windows内部错误或服务内部错误

    转载请保留原创地址 http://www.luofenming.com/show.aspx?id=ART2019092700002

   

    如果想删除已注册的服务  命令是 sc  delete   lqwvje   //lqwvje 是服务名称

视频教程,点击进入B站可看高清视频




如何获取服务时面开机启动程序的位置,以管理员身份运行cmd 输入sc qc lqwvjeOcr7204

C:\Users\Administrator>sc qc lqwvjeOcr7204
[SC] QueryServiceConfig 成功

SERVICE_NAME: lqwvjeOcr7204
        TYPE               : 10  WIN32_OWN_PROCESS
        START_TYPE         : 2   AUTO_START
        ERROR_CONTROL      : 1   NORMAL
        BINARY_PATH_NAME   : D:\tools\nssm-2.24\win64\nssm.exe
        LOAD_ORDER_GROUP   :
        TAG                : 0
        DISPLAY_NAME       : lqwvjeOcr7204
        DEPENDENCIES       :
        SERVICE_START_NAME : LocalSystem

上面查看程序的启动位置,但我们是通过nssm.exe设置开机启动的。下面是通过D:\tools\nssm-2.24\win64\nssm.exe获取真实的程序目录位置

C:\Users\Administrator>D:\tools\nssm-2.24\win64\nssm.exe get lqwvjeOcr7204 AppDirectory
D:\webServer\FileServer

如果想查看运行参数运行下面指令

C:\Users\Administrator>D:\tools\nssm-2.24\win64\nssm.exe get lqwvjeOcr7204 AppParameters
FileServer.dll --urls="http://*:7204"