Serverless 应用中心 快速部署 Flask 框架

应用中心框架部署方案已经全新升级,可以以通过 SCF Web Function,快速部署你的 Flask 业务上云。

相关产品
Serverless 应用中心 产品页,含版本规格、价格与购买入口。

注意:应用控制台部署与函数直接部署有什么区别?
通过应用部署或函数部署,均可以基于 Web 函数,快速部署常见 Web 框架。

·如果你只关注代码逻辑开发,无需额外资源创建,可以通过 Serverless 控制台,完成快速部署。

·如果除了代码部署外,你还需要更多能力或资源创建,如自动创建层托管依赖、一键实现静态资源分离、支持代码仓库直接拉取等,可以通过应用控制台,完成 Web 应用的创建工作。

本篇文档为你介绍应用控制台的部署方案,你也可以通过命令行完成部署,具体操作请参见 产品文档。

一、模板部署:部署 Flask 示例代码

1. 登录 Serverless 控制台。

2. 单击新建应用,选择 Web 应用 > Flask 框架:


3. 单击下一步,完成基础配置选择。


4. 上传方式,选择示例代码直接部署,单击完成,即可开始应用的部署。

5. 部署完成后,你可在应用详情页面,查看示例应用的基本信息,并通过 API 网关生成的访问路径 URL 进行访问,查看你部署的 Flask 项目。


二、本地开发

1. 首先需要确认你本地的环境内已经安装好 Flask。

pip install Flask

2. 本地创建 Hello World 示例项目
在项目目录下,新建 app.py 项目,实现最简单的 Hello World 应用,示例代码如下:

from flask import Flaskapp = Flask(__name__)@app.route('/')def hello_world():return 'Hello World'if __name__ == '__main__':app.run()

3. 本地运行 app.py 文件,在浏览器里访问 http://127.0.0.1:5000,即可在本地完成 Express 示例项目的访问。

$ python3 app.py * Serving Flask app "app" (lazy loading) * Environment: production WARNING: Do not use the development server in a production environment. Use a production WSGI server instead. * Debug mode: off * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)127.0.0.1 – – [22/Jun/2021 09:41:04] "GET / HTTP/1.1" 200 –

访问结果示例如下:

三、部署上云

接下来,我们对本地已经创建完成的项目进行简单修改,使其可以通过 Web Function 快速部署,对于 Flask,具体改造步骤如下:

1. 安装依赖包

由于 SCF 云上标准环境内没有 Flask 依赖库,此处你必须将依赖文件安装完成后,与项目代码一起打包上传,首先新建 requirements.txt 文件:

#requirements.txtFlask==1.0.2werkzeug==0.16.0

接下来执行安装:

pip install -r requirements.txt

注意:由于 SCF 内置运行环境版本 (Python 3.6) 限制,werkzeug 只能使用低版本(<=1.0.x),高版本可能无法正常运行,函数运行环境版本升级已在规划中,敬请期待。

2. 修改监听地址与端口

在 Web 函数内,限制了监听端口必须为 9000,因此需要对监听地址端口进行修改,改为 0.0.0.0:9000。


注意:你也可以在 scf_bootstrap 中,通过环境变量配置监听端口。

3. (可选)配置 scf_bootstrap 启动文件

在项目根目录下新建 scf_bootstrap 启动文件,在里面完成环境变量配置,指定服务启动命令等自定义操作,确保你的服务可以通过该文件正常启动。

#!/bin/bash/var/lang/python3/bin/python3 app.py

创建完成后,注意修改你的可执行文件权限,默认需要 777 或 755 权限。

MacOS 系统Linux 系统Windows 系统执行以下命令:chmod 777 scf_bootstrap执行以下命令:chmod 777 scf_bootstrap执行以下命令: icacls scf_bootstrap /grant:r "Everyone":F

4. 控制台上传

登录 Serverless 控制台,选择 Web 应用 > Flask 框架,上传方式可以选择本地上传或代码仓库拉取。

你可以在控制台完成启动文件 scf_bootstrap 内容配置,配置完成后,控制台将为你自动生成启动文件,和项目代码一起打包部署。

注意:启动文件以项目内文件为准,如果你的项目里已经包含 scf_bootstrap 文件,将不会覆盖该内容。

配置完成后,单击完成,部署你的 Flask 项目。


四、高级配置管理

你可在高级配置里进行更多应用管理操作,如创建层、绑定自定义域名、配置环境变量等。


赞 (0)
上一篇 5天前
下一篇 5天前