FastAPI 部署

FastAPI 部署

到目前为止,我们一直在使用本地开发服务器 “Uvicorn “来运行我们的FastAPI应用程序。为了使应用程序公开可用,它必须被部署在一个有静态IP地址的远程服务器上。它可以被部署到不同的平台,如Heroku、谷歌云、nginx等,使用免费计划或基于订阅的服务。

在本章中,我们将使用 Deta 云平台。其免费使用的部署服务非常容易使用。

首先,要使用Deta,我们需要在其网站上创建一个账户,并选择一个合适的用户名和密码。

FastAPI - 部署

一旦账户创建完毕,在本地机器上安装 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终端使用 dela 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。

FastAPI - 部署

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程