在 Vercel Serverless 上部署 FastAPI 应用
演示应用程序
源代码
如果您是 JavaScript 开发人员,我很可能不会解释什么是 Vercel,但对于 Python 开发人员来说,Vercel 是一个专注于为 Web 应用程序提供无服务器托管解决方案的云计算平台。它在使用 Next.js、Nuxt.js 和 SvelteKit 等前端框架的开发人员中尤其受欢迎。
如果您想利用 Python 运行时部署无服务器 FastAPI 应用程序,本文旨在为您提供快速指南。此外,Vercel 是免费的,所以🤞。
首先,您需要在应用程序中设置这三个文件。
- requirements.txt:此文件包含所有依赖项。
pip freeze > requirements.txt
在开发环境中运行以下命令获取此文件。 - vercel.json:此文件包含 vercel 在部署时设置运行时的信息。
- main.py:这个 python 文件可以有不同的名称,但它应该包含 FastAPI 应用程序。
# main.py
from fastapi import FastAPI
app = FastAPI() # This is what will be refrenced in config
假设给定的文件结构:
root_dir
- main.py
- requirements.txt
- vercel.json
添加这个vercel.json
{
"builds": [
{
"src": "main.py",
"use": "@vercel/python"
}
],
"routes": [
{
"src": "/(.*)",
"dest": "main.py"
}
]
}
如果您的应用程序结构不同,请更改build.src
并routes.dest
指向包含根应用程序的 python 文件。app.
在您的应用程序准备就绪后,将源代码推送到 GitHub,以便使用 vercel 进行无缝的自动未来部署。
如果您还没有帐户,请访问vercel
并创建一个。 创建一个新的应用程序并将其连接到相应的 GitHub 仓库。
此外,在环境变量部分,您可能需要配置端口。复制并粘贴PORT=8000
到密钥字段中。如果您的应用程序需要其他环境变量(例如数据库配置),也可以在此处添加。
点击部署,片刻之后,您的 API 即可启动并运行。
演示应用程序
https://vercel-fastapi-deployment.vercel.app
源代码
https://github.com/mabdullahadeel/vercel-fastapi-deployment
直到下一次👋。
鏂囩珷鏉ユ簮锛�https://dev.to/abdadeel/deploying-fastapi-app-on-vercel-serverless-18b1