快速入门:将 PHP 应用程序部署到 Elastic Beanstalk - Amazon Elastic Beanstalk
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

快速入门:将 PHP 应用程序部署到 Elastic Beanstalk

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

不用于生产用途

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

您的 Amazon 账户

如果您还不是 Amazon 客户,则需要创建一个 Amazon 账户来使用 Elastic Beanstalk。

注册 Amazon Web Services 账户

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

注册 Amazon Web Services 账户
  1. 打开 https://portal.aws.amazon.com/billing/signup

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

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

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

注册过程完成后,Amazon 会向您发送一封确认电子邮件。在任何时候,您都可以通过转至 https://aws.amazon.com/ 并选择我的账户来查看当前的账户活动并管理您的账户。

保护 IAM 用户

注册 Amazon Web Services 账户 后,启用多重身份验证(MFA)保护您的管理用户。有关说明,请参阅《IAM 用户指南》中的 为 IAM 用户启用虚拟 MFA 设备(控制台)

要授予其他用户访问您的 Amazon Web Services 账户资源的权限,请创建 IAM 用户。为了保护您的 IAM 用户,请启用 MFA 并仅向 IAM 用户授予执行任务所需的权限。

有关创建和保护 IAM 用户的更多信息,请参阅《IAM 用户指南》中的以下主题:

先决条件

步骤 1:创建 PHP 应用程序

在此快速入门教程中,您将创建一个 Hello 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 会创建一个包含一个或多个 Amazon EC2 实例的环境,然后将该应用程序部署到该环境中。

    将您的应用程序部署到 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 会删除所有相关的 Amazon 资源,例如 Amazon EC2 实例数据库实例负载均衡器、安全组和警报

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

从控制台终止 Elastic Beanstalk 环境
  1. 打开 Elastic Beanstalk 控制台,然后在 Regions(区域)列表中选择您的 Amazon Web Services 区域。

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

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

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

您也可以使用 EB CLI 通过下列命令来终止环境:

~$ eb terminate

后续步骤

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

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