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.exeapiServer.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.exeapiServer.xml 所在的目录。

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

    命令 功能
    apiServer.exe install 安装服务
    apiServer.exe uninstall 删除服务
    apiServer.exe start 启动服务
    apiServer.exe stop 停止服务
    apiServer.exe restart 重启服务
    apiServer.exe status 查看服务状态
相关推荐
埃博拉酱4 天前
VS Code Remote SSH 连接 Windows 服务器卡在"下载 VS Code 服务器":prcdn DNS 解析失败的诊断与 BITS 断点续传
windows·ssh·visual studio code
唐宋元明清21884 天前
.NET 本地Db数据库-技术方案选型
windows·c#
加号34 天前
windows系统下mysql多源数据库同步部署
数据库·windows·mysql
tryCbest4 天前
Windows环境下配置pip镜像源
windows·pip
呉師傅4 天前
火狐浏览器报错配置文件缺失如何解决#操作技巧#
运维·网络·windows·电脑
百事牛科技4 天前
保护文档安全:PDF限制功能详解与实操
windows·pdf
一个人旅程~4 天前
如何用命令行把win10/win11设置为长期暂停更新?
linux·windows·经验分享·电脑
一个假的前端男4 天前
[特殊字符] Flutter 安装完整指南 Windows—— 2026最新版
windows·flutter
倚肆5 天前
在 Windows Docker 中安装并配置 Nginx (映射 Windows 端口与路径)
windows·nginx·docker
破无差5 天前
拯救你的C盘
windows