nanobot 怎么借助 NSSM 注册为win服务?
nanobot 怎么借助 NSSM 注册为win服务
where python查看python.exe 地址。- 确认 nanobot 启动命令:根据你的需求,确定是运行网关 (
nanobot gateway) 还是代理 (nanobot agent)。 cd到nssm.exe所在的目录。- 创建服务命令
nssm install 服务名称 - 在弹出的 NSSM 配置界面中,进行如下关键设置:
- Application 选项卡:
- Path:填入你第一步查到的 Python 解释器绝对路径(例如
C:\Users\Administrator\AppData\Local\Programs\Python\Python311\python.exe)。 - Startup directory:填入你的 Python 项目根目录或
nanobot的工作目录(例如D:/Agent/nanobot-zhangsan/)。 - Arguments:填入
-m nanobot gateway --config D:/Agent/nanobot-zhangsan/config.json。
- Path:填入你第一步查到的 Python 解释器绝对路径(例如
- Details 选项卡:
- 填写显示名称和描述,并将 Startup type 设置为 Automatic(自动启动)。
- I/O 选项卡(强烈推荐):
- 在 Output (stdout) 和 Error (stderr) 中分别指定一个日志文件路径(例如
C:\Users\Administrator\.nanobot\nanobot_stdout.log)。这能帮你记录nanobot的运行状态,方便排查崩溃原因。
- 在 Output (stdout) 和 Error (stderr) 中分别指定一个日志文件路径(例如
- Application 选项卡:
- 确认无误后,点击 “Install service” 按钮完成注册。
第三步:启动与验证
- 按下
Win + R键,输入services.msc打开服务管理器。 - 在列表中找到你刚刚创建的
服务名称,右键点击“启动”。 - 打开你之前设置的日志文件,查看是否有正常的运行输出。如果服务启动失败,也可以在这里查看具体的错误日志。
💡 进阶:设置崩溃自动重启
为了让 nanobot 在意外崩溃后能够自动恢复,你可以在管理员 CMD 中执行以下 NSSM 命令:
nssm set 服务名称 AppExit Default Restart
nssm set 服务名称 AppRestartDelay 30000
这表示当服务异常退出时,NSSM 会等待 30 秒后自动尝试重启服务,实现 24 小时无人值守运行。
卸载
nssm remove 服务名称 confirm
浙公网安备 33010602011771号