winsw实现windows服务

一、WinSW (Windows Service Wrapper) 简介与下载

  • 开源地址: https://github.com/winsw/winsw
  • 当前稳定版本: v2.11.0
  • 下载链接: https://github.com/winsw/winsw/releases/tag/v2.11.0
    • 根据服务器上安装的 .NET Framework 版本选择对应的可执行文件下载,例如 .NET Framework 4.x 环境下载 WinSW.NET4.exe。
  • 配置文件示例:
    • sample-minimal.xml: 最小化配置示例。
    • sample-allOptions.xml: 包含所有可选配置参数的示例。

二、配置 WinSW

  1. 文件重命名与放置:

    • 将下载的 WinSW.NET4.exe (或其他版本) 重命名为具有明确含义的名称,例如 apiServer.exe。(重要提示:此名称即为后续安装的 Windows 服务的可执行文件名,修改便于管理识别。)
    • 将配置文件 sample-minimal.xml 重命名为与可执行文件同名,但保留 .xml 后缀,例如 apiServer.xml。
    • 将 apiServer.exe 和 apiServer.xml 两个文件放置到你的应用程序(如 JAR 文件或可执行文件)所在的目录中。
  2. 编辑配置文件 (apiServer.xml): 修改 apiServer.xml 文件,配置服务的基本信息。以下是一个核心配置示例:

    XML 复制代码
    <service>
      <id>apiServer</id>
      <name>apiServer</name>
      <description>API 服务程序</description>
      <startmode>Automatic</startmode>
      <executable>D:\WorkFolders\publish\MES.Server.WMS.WebAPI.exe</executable>
      <arguments></arguments>
    </service>
    • <id>: 安装 Windows 服务后的服务 ID。必须唯一。
    • <name>: 显示在 Windows 服务管理器中的服务名称。必须唯一。 通常与 <id> 保持一致即可。
    • <description>: 服务描述信息,可使用中文,作为备注说明。
    • <startmode>: 服务启动模式,Automatic 表示自动启动。
    • <executable>: 指定要运行的主命令或程序的全路径。例如,启动 Java 应用时,这里通常是 java.exe 的路径。
    • <arguments>: 传递给 <executable> 的命令参数。例如,启动 Spring Boot 应用时,这里可能是 -jar yourapp.jar 或其他 JVM 参数、类路径等。(请根据你的应用实际情况填写参数!)

三、安装与管理服务

  1. 以管理员身份 打开命令提示符 (cmd)。

  2. 使用 cd 命令切换到 apiServer.exe 和 apiServer.xml 所在的目录。

  3. 执行以下命令进行服务管理:

    命令 功能
    apiServer.exe install 安装服务
    apiServer.exe uninstall 删除服务
    apiServer.exe start 启动服务
    apiServer.exe stop 停止服务
    apiServer.exe restart 重启服务
    apiServer.exe status 查看服务状态
相关推荐
猪八宅百炼成仙7 小时前
让 AI 帮你清理电脑而不翻车:一个 Windows 体检调优 Skill 的工程化设计
人工智能·windows
鱼宵8 小时前
取集合第一个元素,Java 为什么要写三种写法?
java·windows·python·java21
kingx39 小时前
Windows Server 2008 应急加固实战:7 项入侵痕迹排查与修复
数据库·windows·提权·应急响应·加固
海域云SeaArea_12 小时前
Windows Server 2008 R2 从零安装 IIS7.5(二):php.ini 配置
开发语言·windows·php
IsITGirl16 小时前
VMware Fusion(Mac)Windows ARM 虚拟机 NAT (vmnet8) 报错解决记录
windows·macos·.net·桥接模式
Rudon滨海渔村16 小时前
台式机Win10实现“音量+”和“音量-”,键盘映射方案
windows·计算机外设·powertoys
2501_9159214316 小时前
KXBuild CI 实操,Windows/Linux 服务器接入 Jenkins 打包 iOS IPA
服务器·windows·vscode·ios·ci/cd·个人开发·敏捷流程
谙弆悕博士17 小时前
debian快速换源
linux·运维·windows·debian·下载·换源·网络问题
?re?ta?rd?ed?1 天前
C++11新特性,{}与左值
c++·windows
必须得开心呀1 天前
windows10系统任务栏图标消失修复
windows