动手实验 | 使用 AWS App Runner 部署一个简单的 Python 网站


  实验目标

熟悉 AWS App Runner 服务的基本功能,创建一个App Runner 服务,运行一个简单的 Python 网站。

...

  作业步骤

本次采用AWS Console界面完成作业。
注意:根据项目的具体情况,可以采用不同的实施方法。比如使用命令行(CLI)部署、代码部署 (CloudFomation、Terraform等)、以及其它开发语言(SDK)完成作业。

步骤一:配置源代码
1. 决定使用 GitHub 存储库还是 Bitbucket 存储库。存储库名称命名为 python-hello。使用以下示例中指定的名称和内容在存储库的根目录中创建文件。

2. 打开 App Runner 控制台,选择创建 App Runner 服务。
3. 新建或者选择一个存在的 AWS 连接器。

源代码1 requirements.txt

pyramid==2.0


源代码2 server.py
from wsgiref.simple_server import make_server
from pyramid.config import Configurator
from pyramid.response import Response
import os

def hello_world(request):
    name = os.environ.get('NAME')
    if name == None or len(name) == 0:
        name = "world"
    message = "Hello, " + name + "!\n"
    return Response(message)

if __name__ == '__main__':
    port = int(os.environ.get("PORT")
    with Configurator() as config:
        config.add_route('hello', '/')
        config.add_view(hello_world, route_name='hello')
        app = config.make_wsgi_app()
    server = make_server('0.0.0.0', port, app)
    server.serve_forever()
              


步骤二:配置部署方式
在 “部署设置” 部分中,选择 “自动”。通过自动部署,每次向存储库源目录提交的新内容都会自动部署服务的新版本。

步骤三:配置应用程序构建。
在 “配置构建” 页面上,对于 “配置文件”,选择 “在此处配置所有设置”。
提供以下编译设置:
运行时 — 选择 Python 3.
生成命令-输入pip install -r requirements.txt。
启动命令-输入python server.py。
端口-输入8080。

步骤四:配置服务。
1. 在配置服务页面的服务设置部分,输入服务名称。
2. 在 “环境变量” 下,选择 “添加环境变量”。为环境变量提供以下值。
来源-选择纯文本
环境变量名称 — NAME
环境变量值-任意名称(例如,您的名字)。
3. “查看并创建” 页面上,验证输入的所有详细信息,然后选择 “创建并部署”。

  结果验证

1. 在服务仪表板页面上,等到服务状态变为 “正在运行”。
2. 选择默认域名值,即服务网站的网址。