- FastAPI教程
- FastAPI - 主页
- FastAPI - 简介
- FastAPI - 你好世界
- FastAPI-开放API
- FastAPI - Uvicorn
- FastAPI - 类型提示
- FastAPI - IDE 支持
- FastAPI - 休息架构
- FastAPI - 路径参数
- FastAPI - 查询参数
- FastAPI - 参数验证
- FastAPI - Pydantic
- FastAPI - 请求正文
- FastAPI - 模板
- FastAPI - 静态文件
- FastAPI - HTML 表单模板
- FastAPI - 访问表单数据
- FastAPI - 上传文件
- FastAPI - Cookie 参数
- FastAPI - 标头参数
- FastAPI - 响应模型
- FastAPI - 嵌套模型
- FastAPI - 依赖关系
- FastAPI - CORS
- FastAPI - Crud 操作
- FastAPI - SQL 数据库
- FastAPI - 使用 MongoDB
- FastAPI - 使用 GraphQL
- FastAPI - Websocket
- FastAPI - FastAPI 事件处理程序
- FastAPI - 安装子应用程序
- FastAPI - 中间件
- FastAPI - 安装 Flask 应用程序
- FastAPI - 部署
- FastAPI 有用资源
- FastAPI - 快速指南
- FastAPI - 有用的资源
- FastAPI - 讨论
FastAPI - 部署
到目前为止,我们一直在使用本地开发服务器“Uvicorn”来运行我们的 FastAPI 应用程序。为了使应用程序公开可用,必须将其部署在具有静态 IP 地址的远程服务器上。它可以使用免费计划或基于订阅的服务部署到不同的平台,例如 Heroku、Google Cloud、nginx 等。
在本章中,我们将使用Deta云平台。其免费使用的部署服务非常易于使用。
首先,要使用 Deta,我们需要在其网站上创建一个帐户,并选择合适的用户名和密码。
创建帐户后,在本地计算机上安装Deta CLI (命令行界面)。为您的应用程序创建一个文件夹 (c:\fastapi_deta_app) 如果您使用的是 Linux,请在终端中使用以下命令 -
iwr https://get.deta.dev/cli.ps1 -useb | iex
如果您使用的是 Windows,请从 Windows PowerShell 终端运行以下命令 -
PS C:\fastapi_deta_app> iwr https://get.deta.dev/cli.ps1 -useb | iex Deta was installed successfully to C:\Users\User\.deta\bin\deta.exe Run 'deta --help' to get started
使用登录命令并验证您的用户名和密码。
PS C:\fastapi_deta_app> deta login Please, log in from the web page. Waiting... https://web.deta.sh/cli/60836 Logged in successfully.
在同一应用程序文件夹中,在main.py文件中创建一个最小的 FastAPI 应用程序
# main.py from fastapi import FastAPI app = FastAPI() @app.get("/") def read_root(): return {"Hello": "World"} @app.get("/items/{item_id}") def read_item(item_id: int): return {"item_id": item_id}
现在我们准备部署我们的应用程序。从 power shell 终端使用deta new命令。
PS C:\fastapi_deta_app> deta new Successfully created a new micro { "name": "fastapi_deta_app", "id": "2b236e8f-da6a-409b-8d51-7c3952157d3c", "project": "c03xflte", "runtime": "python3.9", "endpoint": "https://vfrjgd.deta.dev", "region": "ap-southeast-1", "visor": "enabled", "http_auth": "disabled" } Adding dependencies... ….. Installing collected packages: typing-extensions, pydantic, idna, sniffio, anyio, starlette, fastapi Successfully installed anyio-3.4.0 fastapi-0.70.0 idna-3.3 pydantic-1.8.2 sniffio-1.2.0 starlette-0.16.0 typingextensions-4.0.0
Deta 在给定端点(可以为每个应用程序随机创建)部署应用程序。它首先安装所需的依赖项,就像安装在本地计算机上一样。部署成功后,打开浏览器,访问端点键前面所示的URL。Swagger UI 文档也可以在 https://vfrigd.deta.dev/docs 中找到。