xmrig Windows服务安装:开机自动启动设置
一、痛点与解决方案
你是否还在为每次开机手动启动xmrig miner而烦恼?是否担心远程服务器重启后程序无法自动恢复运行?本文将详细介绍两种将xmrig注册为Windows服务的方案,实现真正的无人值守自动运行。通过10分钟的配置,你将获得:
- 系统级开机自动启动
- 后台无窗口运行
- 服务崩溃自动恢复
- 标准Windows服务管理界面
二、准备工作
2.1 环境要求
| 组件 | 版本要求 | 作用 |
|---|---|---|
| Windows | Windows 7/Server 2008 R2及以上 | 服务管理基础环境 |
| xmrig | v6.12.0+ | 程序本体 |
| 管理员权限 | 必需 | 服务安装需要系统权限 |
| .NET Framework | 4.5+ | 部分工具依赖 |
2.2 下载资源
- 从官方仓库获取xmrig Windows版:
git clone https://gitcode.com/GitHub_Trending/xm/xmrig
或直接下载发布包:xmrig Releases - 选择服务管理工具(二选一):
- NSSM(推荐新手):nssm.cc/download
- Windows SC命令(系统自带):无需额外下载
三、服务安装方案对比
| 特性 | NSSM方案 | SC命令方案 |
|---|---|---|
| 操作难度 | ★☆☆☆☆ | ★★★☆☆ |
| 界面支持 | 图形界面 | 纯命令行 |
| 崩溃自动重启 | 内置支持 | 需要额外配置 |
| 日志管理 | 内置轮转 | 需要手动配置 |
| 服务删除 | 一键卸载 | 需手动删除注册表 |
| 适用场景 | 个人设备/工作站 | 服务器批量部署 |
四、NSSM图形化安装(推荐)
4.1 安装步骤
4.2 详细配置
-
启动NSSM配置界面
以管理员身份打开命令提示符,执行:C:\nssm\win64\nssm install xmrig -
应用标签配置
| 参数 | 值 | 说明 | |------|-----|------| | Path |C:\xmrig\xmrig.exe| xmrig可执行文件路径 | | Startup directory |C:\xmrig| 工作目录(配置文件所在位置) | | Arguments |-c config.json --no-color| 启动参数(使用配置文件) | -
日志配置(防止C盘爆满)
切换到"Log on"标签页:- 勾选"Output (stdout)"和"Error (stderr)"
- 设置日志文件路径:
C:\xmrig\logs\service.log - 勾选"Rotate files"启用日志轮转
-
服务安装
点击"Install service"完成安装,系统将显示:
Service "xmrig" installed successfully!
4.3 服务管理命令
# 启动服务
nssm start xmrig
# 停止服务
nssm stop xmrig
# 重启服务
nssm restart xmrig
# 卸载服务
nssm remove xmrig confirm
五、SC命令行安装(高级用户)
5.1 创建服务
sc create xmrig binPath= "C:\xmrig\xmrig.exe -c C:\xmrig\config.json --no-color" start= auto DisplayName= "XMRig Service"
⚠️ 注意:
binPath=和start=等参数后的空格必须保留
5.2 配置服务恢复策略
sc failure xmrig reset= 86400 actions= restart/60000/restart/60000/restart/60000
此命令设置:
- 服务崩溃后1分钟(60000ms)自动重启
- 3次失败后重置失败计数(86400秒=24小时)
5.3 服务管理完整命令集
| 功能 | 命令 |
|---|---|
| 启动服务 | sc start xmrig |
| 停止服务 | sc stop xmrig |
| 查询状态 | sc query xmrig |
| 删除服务 | sc delete xmrig |
| 设置自动启动 | sc config xmrig start= auto |
| 设置延迟启动 | sc config xmrig start= delayed-auto |
六、配置文件优化
为服务模式优化的config.json关键配置:
{
"background": true,
"syslog": true,
"log-file": "C:/xmrig/logs/miner.log",
"max-log-file-size": 10485760,
"pools": [
{
"url": "pool.supportxmr.com:3333",
"user": "YOUR_WALLET_ADDRESS",
"keepalive": true,
"nicehash": false
}
]
}
七、常见问题解决
7.1 服务启动失败
| 错误代码 | 原因分析 | 解决方案 |
|---|---|---|
| 1053 | 服务超时未响应 | 检查可执行文件路径是否正确 |
| 1067 | 进程意外终止 | 检查日志文件排查程序错误 |
| 5 | 访问被拒绝 | 确保服务使用管理员账户运行 |
7.2 性能优化建议
-
内存锁定:管理员命令行执行
nssm set xmrig AppEnvironmentExtra "LARGE_PAGE_SIZE=1" -
CPU亲和性设置(限制程序核心):
sc config xmrig type= interact type= own type= win32
八、服务监控与维护
8.1 状态监控脚本
创建check_service.bat:
@echo off
sc query xmrig | find "RUNNING" >nul
if %errorlevel% equ 0 (
echo XMRig服务运行正常
xmrig.exe --status
) else (
echo XMRig服务异常,正在重启...
sc start xmrig
)
8.2 定期维护任务
九、总结与展望
通过本文介绍的两种方案,你已掌握将xmrig注册为Windows服务的完整流程。NSSM方案适合图形化操作,SC命令适合服务器环境部署。建议定期检查服务状态和日志文件,确保进程稳定运行。
未来xmrig可能会推出原生服务支持,本文将持续更新最新方法。如果你有更好的实践经验,欢迎在项目Issues中分享。
如果你觉得本文有帮助,请点赞👍、收藏⭐并关注项目更新,下期将带来《xmrig远程管理API实战指南》。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考



