操作上很容易,如果已经安装了python,基本上1分钟就能搞定。
1. 安装python,最好3.7以上。
2. 安装组件
pip install fastapi uvicorn
3. 新建项目目录,在项目目录中创建main.py文件
from fastapi import FastAPI
app = FastAPI()
@app.get("/")
def read_root():
return {"Hello": "World"}
4. 启动服务
# 本地测试,启动服务
uvicorn main:app --reload
# 作为服务端启动,监听所有地址
uvicorn main:app --host 0.0.0.0 --port 8000
这里main
指的是包含FastAPI实例的Python文件名(不包括.py
后缀),而app
是FastAPI实例的名称。--reload
选项使得当代码发生变化时自动重新加载服务器,方便开发阶段使用。此时,你可以在浏览器中访问http://127.0.0.1:8000
或者 http://服务器IP:8000
查看效果。
5. 异常检查
外网访问,注意检查防火墙。
6. 设置开机自动启动
为了让FastAPI服务在Windows服务器开机时自动启动,你可以使用以下几种方法。这里介绍一种简单且直接的方法:通过创建一个任务计划来实现。
1. **创建启动脚本**:
- 首先,确保你的FastAPI应用有一个可以一键启动的脚本文件(如`start_server.bat`)。这个批处理文件的内容可能如下所示,这个脚本跟main.py放在同一个目录:
@echo off
set "parent_dir=%~dp0"
cd %parent_dir%
python -m uvicorn main:app --host 0.0.0.0 --port 8000
2. **打开任务计划程序**:
- 按下`Win + S`键,输入“任务计划程序”,然后按下回车键打开任务计划程序。
3. **创建基本任务**:
- 在任务计划程序库中,点击右侧的“创建基本任务...”。
- 输入任务的名称和描述,例如:“FastAPI Auto Start”。
4. **设置触发器**:
- 选择“当计算机启动时”作为触发条件,然后点击“下一步”。
5. **设置操作**:
- 选择“启动程序”作为操作,然后点击“下一步”。
- 在“程序/脚本”栏中,输入`cmd`。
- 在“添加参数(可选)”栏中,输入`/c start "" "C:\path\to\your\start_server.bat"`。这里的路径需要指向你之前创建的`.bat`文件的实际位置。注意,`/c`参数告诉命令提示符执行完命令后关闭窗口,而`start ""`用于新开一个命令行窗口运行你的脚本避免因为主窗口关闭导致脚本停止运行。
6. **完成创建**:
- 确认所有信息无误后,点击“完成”。现在,你已经成功设置了FastAPI服务随系统启动而自动启动的任务。
7. **测试**:
- 为了验证一切正常工作,你可以尝试重启服务器,检查FastAPI服务是否能够自动启动并对外提供服务。
请注意,如果FastAPI服务需要管理员权限才能正确运行(例如绑定到端口80或443),则在创建任务时需要勾选“使用最高权限运行”选项。这样可以确保任务以足够的权限执行。