当前位置: 首页 > news >正文

用nssm将minio和srs注册成服务

首先,要注意一个关键问题,不要在nssm中直接调用bat

  1. NSSM 与 Bat 文件的问题:当NSSM启动一个批处理文件(.bat)时,它实际启动的是cmd.exe进程,而批处理中的命令(如minio.exe)则是其子进程。NSSM会监视cmd.exe的状态。一旦批处理中的命令执行完毕,cmd.exe进程就会退出,NSSM会认为服务已停止,从而可能尝试重启它,但这会导致进程管理混乱。更糟糕的是,直接关闭服务时,NSSM只能终止cmd.exe,而无法正确终止真正的目标进程(minio.exe),导致进程残留。

  2. MinIO 的特殊性:MinIO Server确实设计为需要在命令行环境中运行,因为它需要持续地输出日志和状态信息。

最佳解决方案:使用 NSSM 直接运行 minio.exe,并正确配置参数

我们不需要批处理文件。正确的方法是将NSSM的启动路径直接指向minio.exe,并将所有原本写在批处理文件中的参数和命令,全部放在NSSM的Arguments配置里。

以下是详细步骤:

第一步:准备目录和文件

假设你的软件布局如下:

C:
├── Apps
│   ├── MinIO/
│   │   └── minio.exe   # MinIO 主程序
│   ├── SRS/
│   │   └── objs/
│   │       └── srs.exe # SRS 主程序
│   └── NSSM/
│       └── nssm.exe    # NSSM 工具
├── Data
│   └── MinIO/          # MinIO 数据目录
└── Logs├── MinIO/          # MinIO 服务日志└── SRS/            # SRS 服务日志

请提前创建好这些目录(如C:\Data\MinIOC:\Logs\MinIOC:\Logs\SRS)。

第二步:以管理员身份启动命令行

右键点击“命令提示符”或“PowerShell”,选择“以管理员身份运行”。

第三步:安装并配置 MinIO 服务

我们使用NSSM的命令行模式进行安装,这样更清晰、可重复。

# 进入NSSM目录(或者如果你已将其加入系统PATH,则无需此行)
cd C:\Apps\NSSM# 安装服务,并设置可执行文件路径
nssm install MinIO "C:\Apps\MinIO\minio.exe"# 设置服务启动目录(非常重要)
nssm set MinIO AppDirectory "C:\Apps\MinIO"# 设置启动参数:指定数据目录和控制台端口
nssm set MinIO AppParameters "server C:\Data\MinIO --console-address :9001"# 设置显示名称和描述
nssm set MinIO DisplayName "MinIO Object Storage Server"
nssm set MinIO Description "High-performance, Kubernetes-native object storage"# 【强烈推荐】配置日志输出,便于排查问题
nssm set MinIO Output "C:\Logs\MinIO\service_out.log"
nssm set MinIO Error "C:\Logs\MinIO\service_err.log"# 【可选】设置标准输出和错误输出的文件轮转
nssm set MinIO FileRotate 1
nssm set MinIO FileRotateSize 1048576# 【可选】配置服务在失败时自动重启
nssm set MinIO Start SERVICE_AUTO_START
nssm set MinIO ObjectName "NT AUTHORITY\LocalService" ""

第四步:安装并配置 SRS 服务

SRS的配置相对直接,因为它通常只需要一个配置文件参数。

 
# 安装SRS服务
nssm install SRS "C:\Apps\SRS\objs\srs.exe"# 设置启动目录
nssm set SRS AppDirectory "C:\Apps\SRS\objs"# 设置启动参数(指向配置文件)
nssm set SRS AppParameters "-c ..\conf\srs.conf"# 设置显示名称和描述
nssm set SRS DisplayName "SRS Media Server"
nssm set SRS Description "Simple, Efficient, and Real-Time Video Server"# 配置日志输出
nssm set SRS Output "C:\Logs\SRS\service_out.log"
nssm set SRS Error "C:\Logs\SRS\service_err.log"
nssm set SRS FileRotate 1

第五步:启动并测试服务

配置完成后,启动服务并进行测试。

# 启动服务
net start MinIO
net start SRS# 检查状态(sc query 命令)
sc query MinIO
sc query SRS

测试方法:

  1. MinIO:打开浏览器,访问 http://localhost:9001。应该能看到MinIO的登录页面。

  2. SRS:可以使用OBS推一个RTMP流到 rtmp://localhost/live/test,然后用VLC播放器拉流(rtmp://localhost/live/test)进行测试。

  3. 检查日志:如果服务启动失败,第一时间查看你在第三步和第四步中设置的 Output 和 Error 日志文件(如 C:\Logs\MinIO\service_err.log),里面会有详细的错误信息。

 
http://www.wxhsa.cn/company.asp?id=5784

相关文章:

  • Mac上的Markdown学习
  • ubuntu 18.04安装mysql8.4.5
  • Radxa E20C 安装 OpenWrt
  • 第三篇:配置浏览器
  • 第二篇:playwright初步解析
  • 高性能计算-TensorCore-hgemm
  • 第一篇:Playwright-Python安装与调试
  • P13695 [CEOI 2025] theseus 题解
  • 《ESP32-S3使用指南—IDF版 V1.6》第三十八章 SPIFFS实验
  • 技术交流社区基础防诈指南
  • 神秘题
  • 技术群高级防骗指南
  • 集训游记
  • SQL Server 中的 STUFF 函数与FOR XML PATH详解 - 实践
  • 2025/9/16 总结
  • Linux备份数据
  • np.argmax
  • TQ322数字PIR使用笔记
  • 使用Apache做web服务器时无法断点续传的怎么办?
  • Rust使用rbatis
  • 2025ICPC网络赛第一场(A,B,C,D,G,I,M)
  • Google Maps
  • 【TES600G】基于JFM7K325T FPGA+FT-M6678 DSP的全国产化信号处理平台
  • KMS激活Windows系统(win10)
  • 基于python3的http文件服务器
  • 大阪府
  • sql server2008大批量插入数据
  • 【Office 2010】经典办公套件Office 2010——保姆级详细图文下载安装教程 - 详解
  • Eth-Trunk实验
  • HCIP—Eth-Trunk