Windows 服务常用工具及 nssm 使用示例

Windows 将某个应用程序设为服务运行,确保它在后台稳定运行,并且在系统重启后自动启动。

常见的工具包括 Windows 自带的服务管理器、sc 命令、srvany 和第三方工具 nssm

1.常用 Windows 服务工具

  • Windows 服务管理器:通过图形化界面(services.msc)管理服务,适合简单的服务启动、停止和配置。
  • sc命令:Windows 提供的命令行工具,可以用于创建和管理服务,但功能较为基础。
  • srvany:来自 Windows Server Resource Kit 的工具,允许将任意可执行文件作为服务运行,配置较为繁琐。
  • nssm:推荐的第三方工具,功能强大,易于配置。支持自动重启、服务依赖等高级功能,非常适合将应用程序(如 Nginx、Java JAR)作为服务运行。

2.`nssm` 介绍

  nssm(Non-Sucking Service Manager) 是一个轻量级的命令行工具,专门用于将普通的可执行程序(如 .exe.jar)包装成 Windows 服务。它相较于其他工具(如 scsrvany)的优势在于:

  • 易用性:图形化配置及命令行双支持。
  • 自动重启:程序崩溃时可以自动重启服务。
  • 日志管理:可以将服务的输出重定向到日志文件。
  • 依赖管理:支持设置服务依赖,确保服务按顺序启动。

3.下载 `nssm` 并配置环境变量

步骤 1:下载 `nssm`

  1. 访问 nssm 官方网站
  2. 下载适合系统的版本(32 位或 64 位)。
  3. 解压下载的压缩包,并将 nssm.exe 放到一个合适的位置.

步骤 2:配置 `nssm` 到环境变量

nssm.exe 添加到环境变量,命令行直接使用 nssm 命令。

  1. 右键点击 此电脑,选择 属性
  2. 点击 高级系统设置 -> 环境变量
  3. 系统变量 中找到 Path,点击 编辑

点击 新建,添加 nssm.exe 所在目录的路径。

  1. 点击 确定 保存更改。

步骤 3:验证配置

打开命令提示符,输入 nssm,如果看到 nssm 的帮助信息,则配置成功。

nssm

4.`nssm` 常用命令解释

常用的 nssm 命令:

  • 安装服务:将应用程序注册为 Windows 服务。
nssm install <服务名称>

打开一个图形界面,配置服务。

  • 启动服务:启动已注册的服务。
nssm start <服务名称>
  • 停止服务:停止正在运行的服务。
nssm stop <服务名称>
  • 重启服务:重启服务。
nssm restart <服务名称>
  • 移除服务:从系统中删除已注册的服务。
nssm remove <服务名称> confirm
  • 编辑服务配置:可以通过命令行修改服务的配置。
nssm edit <服务名称>
  • 查看服务状态:可以通过命令行查看服务的状态。
nssm status <服务名称>

5.配置 Nginx 为 Windows 服务

假设已经安装了 Nginx,并希望它作为 Windows 服务运行。

步骤 1:安装 Nginx 服务

  1. 打开命令提示符(管理员权限),输入安装命令来创建 Nginx 服务:
nssm install <服务名>
  1. 在弹出的 nssm 配置窗口中:
    • Path:选择 nginx.exe 的路径。
    • Startup directory:选择 Nginx 的安装目录,
    • Arguments:不需要填写,保持为空。
  2. 点击 Install service 以完成安装。

步骤 2:启动 Nginx 服务

服务安装后,使用以下命令启动 Nginx 服务:
nssm start <服务名>

可以通过 services.msc 在 Windows 服务管理器中手动启动服务。

步骤 3:查看服务运行状态

通过命令查看:
nssm status <服务名>

结果:

也可以直接在任务管理器服务中查看:

6.配置 JAR 为 Windows 服务

有一个 Java 应用程序 xxx.jar,希望将其作为 Windows 服务运行。

步骤 1:安装 JAR 服务

1. 打开命令提示符(管理员权限),输入安装命令来创建服务:
nssm install MyJavaService
  1. 在弹出的 nssm 配置窗口中:
    • Path:选择 java.exe 的路径,通常位于jdk安装目录的 bin 文件夹中。
    • Startup directory:设置为JAR 文件所在的目录,例如 E:\preInspenction
    • Arguments:输入启动 JAR 的参数,例如:
-jar preInspenction.jar
  1. 点击 Install service 以完成安装。

步骤 2:启动 JAR 服务

服务安装后,使用以下命令启动 Java 服务:

nssm start MyJavaService

也可以通过 services.msc 手动启动或停止服务。

步骤 3:JAR 服务的高级配置(可选)

  • 资源限制Arguments 中加入 JVM 参数,如设置最大堆内存:
-Xmx512m -jar xxx.jar
  • 日志管理:通过 nssm 将标准输出和错误输出重定向到日志文件,方便调试和监控应用程序运行情况。

总结

通过 nssm,可以轻松地将 Nginx 或 Java 应用程序(JAR 文件)配置为 Windows 服务,实现自动启动、后台运行以及崩溃后的自动重启。


参考文章:

《NSSM系列》使用NSSM将程序安装成Windows服务

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值