烧瓶是一个流行的Python Web框架,它使得在短时间内创建Web应用程序和API变得易于使用。如果您创建了一个烧瓶应用程序,并且担心将服务器配置为Heroku的免费计划,那么不用担心;您可以在Vercel上运行烧瓶作为无服务器功能(是的,您已经听到了正确的声音;我们将在Vercel上部署烧瓶应用程序)。
先决条件
在我们开始之前,您应该设置以下内容:
- 一个Vercel帐户。您可以在vercel.com上注册一个免费帐户。
- 计算机上安装的Vercel CLI(命令行接口)。您可以通过在终端中运行以下命令来安装Vercel CLI。
npm install -g vercel
部署烧瓶应用程序
打开您喜欢的代码编辑器,并在以下顺序中初始化以下文件和文件夹:
project
│───vercel.json
│───requirements.txt
└───api
│───app.py
在app.py
文件中。让我们编写一个基本的Hello World程序,您可以根据需要修改。
from flask import Flask
app = Flask(__name__)
@app.get('/')
def hello_world():
return "Hello, World!"
在requirements.txt
中,写
Flask
这是我们唯一需要的PYPI软件包。 Web服务器网关接口(WSGI)由Vercel在运行时自动提供。
vercel.json
文件包含此项目的配置。
烧瓶的样品配置为:
{
"routes": [
{
"src": "/(.*)",
"dest": "api/app.py"
}
]
}
上面的代码路由到原始页面上的任何请求到app.py
编写的烧瓶服务器。
现在通过运行:
将烧瓶应用程序部署到Vercel上
vercel deploy --prod
遵循提示,然后Vercel将构建和部署您的应用程序,并为您提供可以访问应用程序的URL。您也可以通过进入Vercel仪表板访问网站的URL。
我使用上述步骤制作的烧瓶应用程序的URL是vercel-flask-demo-one.vercel.app
附加配置
如果要自定义烧瓶应用程序的部署方式,则可以在vercel.json
文件中添加其他选项。例如,您可以指定要使用的python版本,或在应用程序中添加环境变量,指定最大执行时间和请求的内存等。
奖金
如果您正在考虑在Vercel中运行Fastapi,那么绝对可能。只需用fastapi
中的Flask
替换Flask
,而vercel将自动使用相应的asgi为其服务。
您可以阅读更多:Python Runtimes
我创建了此博客文章,以表明可以通过使用无服务器功能在Vercel上部署常见的Python Web应用程序,因为许多人只使用Vercel来托管他们的前端,并且永远不会完全探索它。在下一篇文章中,我将向您展示如何在Vercel上托管无服务器机器人。
如果您仍然对此帖子有任何疑问,或者想与我讨论一些事情,请随时在LinkedIn或Twitter上与我联系。
如果您经营组织并希望我为您写信,请在我的社交上与我联系