前言
大家好,我是Mark。最近真的是忙麻了都没时间好好写文章,好几篇文章只是写了个标题,然后就搁置了。后续的文章可能会偏实战一些,结合 AI、Python、Unity 做一些有趣的内容。有需求也可以私信我或评论区留言,我会尽可能的帮大家实现哈
一、开发 FastAPI 应用
1. 安装依赖
安装 FastAPI 和 ASGI 服务器(如 Uvicorn)
pip install fastapi uvicorn[standard]
2. 示例代码
确保你的应用在本地可以正常运行。示例代码 main.py
from fastapi import FastAPI
app = FastAPI()
@app.get("/")
def read_root():
return {"Hello": "World"}
3. 测试本地运行
启动 Uvicorn 服务:
uvicorn main:app --host 0.0.0.0 --port 8000
访问 http://localhost:8000 确认应用正常工作
二、下载安装 NSSM 设置 Windows 服务
1. 下载
访问 NSSM 官网 下载并解压。
![[nssm-2.24.zip]]

2. 安装服务
使用==管理员身份==打开命令行,进入 NSSM 解压目录,运行:
nssm install MyFastAPI
在弹出窗口中配置:
- Path: 你的 Python 解释器路径(如
C:\Python39\python.exe)。 - Startup directory: 项目目录路径(如
D:\JobContent\PythonProject\Practice)。 - Arguments:
-m uvicorn main:app --host 0.0.0.0 --port 8000
3. 启动服务
nssm start MyFastAPI
4. 验证服务是否运行
sc query MyFastAPI
如果状态为 RUNNING,表示部署成功。
5. NSSM 命令集
核心服务管理命令
| 命令 | 说明 | 示例 |
|---|---|---|
nssm install <服务名称> | 创建新服务(弹出GUI配置界面) | nssm install MyFastAPI |
nssm start <服务名称> | 启动服务 | nssm start MyFastAPI |
nssm stop <服务名称> | 停止服务 | nssm stop MyFastAPI |
nssm restart <服务名称> | 重启服务 | nssm restart MyFastAPI |
nssm remove <服务名称> | 删除服务(需确认) | nssm remove MyFastAPI |
nssm remove <服务名称> confirm | 强制删除服务(无需确认) | nssm remove MyFastAPI confirm |
服务配置修改
| 命令 | 说明 | 示例 |
|---|---|---|
nssm edit <服务名称> | 修改服务配置(弹出GUI界面) | nssm edit MyFastAPI |
nssm set <服务名称> <参数> <值> | 直接通过命令行修改配置(无需GUI) | nssm set MyFastAPI AppDirectory C:\app |
nssm reset <服务名称> <参数> | 重置某个配置参数为默认值 | nssm reset MyFastAPI AppDirectory |
服务状态与日志
| 命令 | 说明 | 示例 |
|---|---|---|
nssm status <服务名称> | 查看服务状态 | nssm status MyFastAPI |
nssm list | 列出所有通过NSSM创建的服务 | nssm list |
nssm rotate <服务名称> | 手动轮转服务日志(切割日志文件) | nssm rotate MyFastAPI |
高级命令
| 命令 | 说明 | 示例 |
|---|---|---|
nssm dump <服务名称> | 导出服务配置为注册表文件(.reg) | nssm dump MyFastAPI |
nssm get <服务名称> <参数> | 查看某个配置参数的值 | nssm get MyFastAPI AppParameters |
nssm processes | 列出所有由NSSM管理的进程 | nssm processes |
三、结束
对你有帮助的话可以点赞、关注、收藏,有问题评论区见哈~
原创不易,若转载请注明出处,感谢大家~