.net和jar包windows服务部署

一.NetCore

1.创建启动脚本run_instal.bat,例如程序文件为ApiDoc.exe

复制代码
set serviceName="Apidoc Web 01"
set serviceFilePath=%~dp0ApiDoc.exe
set serviceDescription="ApiDoc 动态接口服务 web 01"

sc create %serviceName%  BinPath=%serviceFilePath%
sc config %serviceName%  start=auto  
sc description %serviceName%  %serviceDescription%
sc start  %serviceName%
pause

serviceName 服务名,如果多个单子可以有空格,但必须用""包起立

description 服务说明 BinPath 路径

%~dp0 当前bat文件路径 start=auto 开机自动启动 start: 启动服务

2.卸载脚本run_unstall.bat

复制代码
set serviceName="Apidoc Web 01"

sc stop %serviceName% 
sc delete %serviceName% 

pause

windows服务只能以命令方式卸载,最后把bat文件和.exe文件放在同目录下

二.普通jar包

1.下载WinSW,根据服务器的.net环境自行选择,此处使用WinSW-x64.exe

复制代码
https://github.com/winsw/winsw/releases
https://github.com/winsw/winsw/tree/v2.12.0?tab=readme-ov-file

2.将WinSW-x64.exe重命名为WinServerTest.exe,并拷贝到jar包同目录

3.新建一个WinServerTest.xml的文件,编码格式为UTF-8,内容如下

复制代码
<service>
  
  <!-- ID of the service. It should be unique across the Windows system-->
  <id>WinServerTest</id>
  
  <!-- 服务名 -->
  <name>WinServerTest</name>
  
  <!-- 服务说明 -->
  <description>This service is a service test WinServerTest</description>
  
  <!-- 应启动的可执行文件的路径 -->
  <executable>java</executable>
  
  <!-- 当前路径的程序 -->
  <arguments>-jar WinServerTest-1.jar</arguments> 
  
  <!-- 服务启动模式 Automatic:自动 -->
  <startmode>Automatic</startmode>
  
  <!-- 日志位置,为当前路径logs文件夹下 -->
  <logpath>logs</logpath>
  
</service>

4.创建安装服务脚本install.bat

复制代码
cd %~dp0
WinServerTest install
WinServerTest start
pause

5.创建删除服务脚本uninstall.bat

复制代码
cd %~dp0
WinServerTest stop
WinServerTest uninstall
pause

6.最后的文件目录

三.

相关推荐
caimouse2 分钟前
Reactos 第 5 章 进程与线程 — 5.9 Windows 线程的调度和切换
windows
骑士雄师18 分钟前
17.2 通过 Config 传入用户名 → 工具1存入 State → 工具2读取 State 并返回答案
服务器·windows·microsoft
caimouse1 小时前
Reactos 第 5 章 进程与线程 — 5.12 进程挂靠
c语言·windows
谢娘蓝桥1 小时前
windows 开启openssh
windows
设计师小聂!1 小时前
Windows 系统 Docker 安装与配置指南
windows·docker·容器
骑士雄师1 小时前
16.1深入讲解 LangGraph 的静态配置 configurable
windows·microsoft
我命由我123451 小时前
Windows 操作系统 - Windows 查看防火墙是否开启、Windows 查看防火墙放行端口
java·运维·开发语言·windows·java-ee·操作系统·运维开发
winlife_2 小时前
全程用 AI 做一款商业级手游 · EP10 道具系统:让三个按钮真正改变棋盘
windows·算法·unity·ai编程·游戏开发·mcp·玩法系统
小二·2 小时前
Prompt Engineering 实战
网络·windows·prompt
fastjson_2 小时前
使用 ventoy 安装WinToGo
windows