.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.最后的文件目录

三.

相关推荐
lingchen190619 分钟前
Win 11 系统语言栏悬浮于桌面上影响操作感受,怎么取消?
windows
梅孔立1 小时前
Windows PowerShell 升级 Pi-Coding-Agent + OpenCode,解决 OpenCode 二进制无效报错
windows
东木月3 小时前
Windows C 盘清理指南:安全删除临时文件、缓存与 Prefetch
c语言·windows·安全
水饺编程4 小时前
第1章,[Win32 章节]:Windows 的方方面面
c语言·c++·windows·visual studio
超级大福宝5 小时前
VS Code Remote-SSH 因 RemoteForward 端口冲突导致连接失败的排查与解决
运维·服务器·windows·vscode·ssh
Vex2une5 小时前
Windows PowerShell 发展史:从命令行工具到自动化核心
windows·自动化运维·命令行·powershell·cmd·脚本语言·对象管道
怎么没有名字注册了啊17 小时前
Qt开发:MessageBox怎么调出标题栏那个问号按钮?
windows
李子红了时18 小时前
EncFS MP中文版汉化下载(免费文件加密工具)
windows·安全
辻弋20118 小时前
五年前的旅行视频糊成马赛克?Video2X用Real-ESRGAN逐帧重建细节,但只支持Windows、集显用户建议直接放弃
服务器·数据库·windows·游戏引擎·电脑
会飞的土拨鼠呀19 小时前
Windows 系统关闭虚拟内存文件pagefile.sys
windows