QuickStart: 将 PHP 应用程序部署到 Elastic Beanstalk - AWS Elastic Beanstalk

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

QuickStart: 将 PHP 应用程序部署到 Elastic Beanstalk

在以下教程中,您将学习如何使用 EB CLI 创建示例 PHP 应用程序并将其部署到 AWS Elastic Beanstalk 环境中。

警告-不用于生产用途!

示例仅用于演示。不要在生产环境中使用示例应用程序。

你的 AWS 账户

如果你还不是 AWS 客户,则需要创建一个 AWS 账户才能使用 Elastic Beanstalk。

注册获取 AWS 账户

如果您没有 AWS 账户,请完成以下步骤来创建一个。

要注册 AWS 账户
  1. 打开https://portal.aws.amazon.com/billing/注册。

  2. 按照屏幕上的说明操作。

    在注册时,将接到电话或收到短信,要求使用电话键盘输入一个验证码。

    当您注册时 AWS 账户,就会创建AWS 账户根用户一个。根用户有权访问该账户中的所有 AWS 服务 和资源。作为最佳安全实践,请为用户分配管理访问权限,并且只使用根用户来执行需要根用户访问权限的任务

AWS 注册过程完成后会向您发送一封确认电子邮件。您可以随时前往 https://aws.amazon.com/并选择 “我的账户”,查看当前账户活动并管理您的账户

创建具有管理访问权限的用户

注册后,请保护您的安全 AWS 账户 AWS 账户根用户 AWS IAM Identity Center,启用并创建管理用户,这样您就不会使用 root 用户执行日常任务。

保护你的 AWS 账户根用户
  1. 选择 Root 用户并输入您的 AWS 账户 电子邮件地址,以账户所有者的身份登录。AWS Management Console在下一页上,输入您的密码。

    要获取使用根用户登录方面的帮助,请参阅《AWS 登录 用户指南》中的 Signing in as the root user

  2. 为您的根用户启用多重身份验证(MFA)。

    有关说明,请参阅 I A M 用户指南中的为 AWS 账户 根用户启用虚拟 MFA 设备(控制台)

创建具有管理访问权限的用户
  1. 启用 IAM Identity Center。

    有关说明,请参阅《AWS IAM Identity Center 用户指南》中的 Enabling AWS IAM Identity Center

  2. 在 IAM Identity Center 中,为用户授予管理访问权限。

    有关使用 IAM Identity Center 目录 作为身份源的教程,请参阅《用户指南》 IAM Identity Center 目录中的使用默认设置配置AWS IAM Identity Center 用户访问权限

以具有管理访问权限的用户身份登录
将访问权限分配给其他用户
  1. 在 IAM Identity Center 中,创建一个权限集,该权限集遵循应用最低权限的最佳做法。

    有关说明,请参阅《AWS IAM Identity Center 用户指南》中的 Create a permission set

  2. 将用户分配到一个组,然后为该组分配单点登录访问权限。

    有关说明,请参阅《AWS IAM Identity Center 用户指南》中的 Add groups

先决条件

步骤 1:创建 PHP 应用程序

为了快速入门,您将创建一个 H ello World PHP 应用程序。

创建项目目录。

~$ mkdir eb-php ~$ cd eb-php

接下来,在项目目录中创建一个index.php文件并添加以下代码。

index.php
<?php echo "Hello from a PHP application running in Elastic Beanstalk!"; ?>

步骤 2:在本地运行应用程序

使用以下命令在本地运行应用程序。

php -S localhost:5000

打开浏览器以 http://localhost:5000.

您应该在浏览器中看到您的问候消息,并在终端中看到日志消息。

进入即可停止本地服务器Control+c,这样你就可以部署 Elastic Beanstalk 了。

步骤 3:初始化并部署 PHP 应用程序

接下来,您将使用 Elastic Beanstalk 控制台或 EB CLI 将应用程序部署到环境中。在本教程中,您将使用带有交互式选项的 EB CLI 来初始化环境。

初始化您的环境并创建环境
  1. 运行以下 init 命令:

    eb init -i

    init 命令以交互方式创建应用程序。应用程序名称将默认为本地文件夹,即eb-php

    对于除了 SSH 访问以外的所有提示,请接受默认设置以使用最新 PHP 平台版本创建环境。要对实例进行故障排除,您可以稍后重新运行eb init -i命令来设置 SSH 访问权限,也可以使用 Amazon EC2 Instance Connect 或会话管理器进行连接。

  2. 创建环境并部署应用程序

    运行以下命令创建名为的环境blue-env

    eb create blue-env

    当你首次运行该eb create命令时,Elastic Beanstalk 会自动为你的应用程序生成一个 zip 文件,称为源包。接下来,Elastic Beanstalk 创建一个包含一个或多个 EC2 Amazon 实例的环境,然后将该应用程序部署到该环境中。

    将您的应用程序部署到 Elastic Beanstalk 最多可能需要五分钟。

步骤 4:浏览您的云应用程序

创建环境的过程完成后,您的应用程序应在端口 5000 上运行并监听请求。使用以下命令连接到您的应用程序:

eb open

eb open命令打开浏览器选项卡,指向为您的应用程序创建的自定义子域。

步骤 5:更新和重新部署您的应用程序

在创建应用程序并部署到环境后,您可以随时部署该应用程序的新版本或其他应用程序。部署新应用程序版本的速度更快,因为它不需要配置或重启 Amazon EC2 实例。

更新你的 PHP 代码以包含来自服务器环境的 REQUEST_TIME 值:

<?php echo "Hello from a PHP application running in Elastic Beanstalk!"; $timestamp = $_SERVER['REQUEST_TIME']; echo '<br/>Request time: ' . date('Y/m/d H:i:s', $timestamp); ?>

使用以下命令将你的 PHP 代码重新部署到 Elastic Beanstalk:

eb deploy

运行 eb deploy 时,EB CLI 会捆绑项目目录中的内容并将其部署到环境中。

部署完成后,刷新页面或使用eb open重新连接到您的应用程序。你应该会看到你的更新。如果不是,请再次运行本地服务器来验证所做的更改,从而进行故障排除。

恭喜您!

你已经使用 Elastic Beanstalk 创建、部署和更新了 PHP 应用程序!

清理

使用完演示代码后,您可以终止您的环境。Elastic Beanstalk 会删除 AWS 所有相关资源,例如 EC2 亚马逊实例、数据库实例、负载均衡器、安全组和警报。

移除资源不会删除 Elastic Beanstalk 应用程序,因此您可以随时为应用程序创建新环境。

从控制台终止 Elastic Beanstalk 环境
  1. 打开 Elastic Beanstalk 控制台,然后在 “区域” 列表中,选择您的。 AWS 区域

  2. 在导航窗格中,选择 Environments(环境),然后从列表中选择环境的名称。

  3. 选择 Actions(操作),然后选择 Terminate environment(终止环境)。

  4. 使用屏幕上的对话框确认环境终止。

或者,您可以使用 EB CLI 使用以下命令终止您的环境:

eb terminate

后续步骤

您可以使用 Elastic Beanstalk 控制台探索您的应用程序环境。有关更多信息,请参阅探索您的环境

有关使用 PHP 的高级示例,请参见Elastic Beanstalk 中的 PHP 高级示例