Windows服务注册
以下是将你的Python脚本使用NSSM注册为Windows服务并设置为开机自启动的完整步骤:
步骤 1: 下载并安装NSSM
- 访问 NSSM官网 下载适用于你系统的NSSM版本(通常是 win64 或 win32),并解压缩到一个文件夹中,比如 C:\nssm。
步骤 2: 准备Python环境和脚本
确保Python已安装:
○ 确保你的系统已经安装了Python,并且所有需要的库(如requests)都已经安装。
保存Python脚本:
○ 将你的Python脚本保存到一个特定的目录,比如 C:\scripts\pyscripts.py。
步骤 3: 使用NSSM注册服务
打开命令提示符:
○ 以管理员身份打开命令提示符。
导航到NSSM所在目录:
○ 进入NSSM所在的目录,例如:
cd C:\nssm\win64
以上1、2步骤也可以在资源管理器中进入到nssm.exe 所在目录后按住shift键不动右键选择在此处打开 Powershell 窗口(S)
注册服务:
○ 运行以下命令来注册你的Python脚本为服务:
.\nssm.exe install MyPythonService
这会弹出NSSM的服务配置窗口。
配置服务:
○ 在NSSM服务配置窗口中,进行以下设置:
■ Application Path: 指定Python解释器的路径,例如 C:\Python39\python.exe
。
■ Startup directory: 指定Python脚本所在的目录,例如 C:\scripts\
。
■ Arguments: 输入Python脚本的路径和参数,例如 pyscripts.py
。
最终构建的结果如下
C:\Python39\python.exe C:\scripts\pyscripts.py
注意事项
建议install前先检查构建的结果在Powershell 窗口(S)
下是否能正常运行
在cmd使用以下命令获取python解释器路径
where python
部分电脑的C:\Users\你的用户名\AppData\Local\Microsoft\WindowsApps\python.exe
路径它可能可能有一些限制,比如不能使用某些命令行参数。无法使用的。
where python
查不到也没有关系
python.exe真实目录一般位于C:\Users\你的用户名\AppData\Local\Programs\Python\Python39\目录下
其中
Python39
是3.9版本的的意思,如上目录
Python312
是3.12版本的的意思
若是指定安装则写指定安装目录
设置服务启动类型:
○ 切换到 “Details” 标签页,找到 “Startup type” 选项,并将其设置为 “Automatic”,这将使服务在系统启动时自动启动。
保存服务:
○ 配置完成后,点击 “Install service” 按钮,NSSM会将该服务注册到Windows服务中。
步骤 4: 启动服务并验证
启动服务:
○ 在命令提示符中,使用以下命令启动服务:
.\nssm.exe start MyPythonService
○ 你也可以在 Windows 服务管理器 (services.msc) 中手动启动服务。
验证服务运行:
○ 打开 Windows 服务管理器 (services.msc),查找名为 MyPythonService 的服务,并确认其状态为“正在运行”(Running)。
○ 确认服务的 启动类型 显示为“自动”(Automatic)。
步骤 5: 设置日志记录(可选)
配置日志输出:
○ 打开NSSM的配置窗口:
.\nssm.exe edit MyPythonService
○ 在 “I/O” 标签页中,可以设置标准输出(stdout)和标准错误(stderr)的日志文件路径,以便记录服务的输出信息。
步骤 6: 重启系统并验证
重启计算机:
○ 重新启动计算机,确保服务在系统启动时自动启动。
检查服务状态:
○ 重启后,再次打开 Windows 服务管理器 (services.msc),确认服务 MyPythonService 的状态为“正在运行”(Running)。
通过这些步骤,你的Python脚本现在已经成功注册为一个在Windows系统启动时自动运行的服务,并且可以通过NSSM进行管理和监控。
卸载服务
.\nssm.exe stop MyPythonService
.\nssm.exe remove MyPythonService
查看示例
Windows通过dynv6提供免费的IPv6动态域名解析(DDNS)服务(NSSM注册服务的方式运行)
同理也可以使用nssm把其它可执行程序注册为服务。