PeterPu
发布于 2025-09-03 / 52 阅读
0
0

NSSM 介绍及在 Windows 上的安装使用指南

什么是 NSSM?

NSSM(Non-Sucking Service Manager)是一个轻量级的 Windows 服务管理器,它可以将普通的可执行程序(如 .exe 或 .bat 文件)安装为 Windows 服务。与 Windows 自带的 sc.exe 相比,NSSM 提供了更友好、更强大的功能。

NSSM 的主要特点

  1. 简单易用:提供直观的命令行和 GUI 界面

  2. 稳定性强:能更好地管理服务的生命周期

  3. 日志记录:内置日志记录功能,便于故障排查

  4. 环境变量支持:可以自定义服务运行的环境

  5. 自动重启:可以配置服务崩溃后自动重启

安装 NSSM

方法一:直接下载二进制文件

  1. 访问 NSSM 的官方网站 https://nssm.cc/

  2. 下载最新版本的 NSSM(32位或64位根据你的系统选择)

  3. 解压下载的压缩包到你喜欢的目录,例如 C:\Tools\nssm

方法二:使用 Chocolatey 安装(推荐)

如果你已经安装了 Chocolatey 包管理器,只需运行以下命令:

Powershell

choco install nssm

使用 NSSM

基本命令

NSSM 既可以通过命令行使用,也可以通过 GUI 界面操作。以下是常用命令:

安装服务

Cmd

nssm install <服务名称>

这会打开一个 GUI 界面,让你配置服务。

启动服务

Cmd

nssm start <服务名称>

停止服务

Cmd

nssm stop <服务名称>

重启服务

Cmd

nssm restart <服务名称>

删除服务

Cmd

nssm remove <服务名称>

实际使用示例

假设我们有一个 Node.js 应用,想把它作为 Windows 服务运行:

  1. 首先安装服务:

Cmd

nssm install MyNodeApp

  1. 在弹出的 GUI 界面中配置:

    • Path: 选择 node.exe 的路径(如 C:\Program Files\nodejs\node.exe

    • Startup directory: 选择你的 Node.js 应用目录

    • Arguments: 输入你的应用入口文件(如 app.js

  2. 点击 "Install service" 按钮完成安装

  3. 启动服务:

Cmd

nssm start MyNodeApp

高级配置

通过命令行可以直接配置服务参数,无需使用 GUI:

Cmd

nssm set MyNodeApp AppDirectory "C:\path\to\your\app" nssm set MyNodeApp AppParameters "app.js" nssm set MyNodeApp AppStdout "C:\path\to\logs\stdout.log" nssm set MyNodeApp AppStderr "C:\path\to\logs\stderr.log"

查看服务状态

Cmd

nssm status MyNodeApp

常见问题解决

  1. 服务启动失败

    • 检查应用程序路径是否正确

    • 检查是否有足够的权限

    • 查看日志文件(如果配置了日志输出)

  2. 服务无法删除

    • 确保服务已停止

    • 以管理员身份运行命令提示符

  3. 环境变量问题

    • 在 NSSM GUI 的 "Environment" 标签页中添加所需的环境变量

总结

NSSM 是一个强大且易用的 Windows 服务管理工具,特别适合将各种脚本和应用程序作为服务运行。相比 Windows 自带的 sc.exe,它提供了更友好的界面和更稳定的服务管理能力。无论是开发者还是系统管理员,掌握 NSSM 都能让你的 Windows 服务管理工作更加高效。


评论