本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
QuickStart: 将 PHP 应用程序部署到 Elastic Beanstalk
在以下教程中,您将学习如何使用 EB CLI 创建示例 PHP 应用程序并将其部署到 AWS Elastic Beanstalk 环境中。
警告-不用于生产用途!
示例仅用于演示。不要在生产环境中使用示例应用程序。
你的 AWS 账户
如果你还不是 AWS 客户,则需要创建一个 AWS 账户才能使用 Elastic Beanstalk。
注册获取 AWS 账户
如果您没有 AWS 账户,请完成以下步骤来创建一个。
要注册 AWS 账户
打开https://portal.aws.amazon.com/billing/注册。
按照屏幕上的说明操作。
在注册时,将接到电话或收到短信,要求使用电话键盘输入一个验证码。
当您注册时 AWS 账户,就会创建AWS 账户根用户一个。根用户有权访问该账户中的所有 AWS 服务 和资源。作为最佳安全实践,请为用户分配管理访问权限,并且只使用根用户来执行需要根用户访问权限的任务。
AWS 注册过程完成后会向您发送一封确认电子邮件。您可以随时前往 https://aws.amazon.com/
创建具有管理访问权限的用户
注册后,请保护您的安全 AWS 账户 AWS 账户根用户 AWS IAM Identity Center,启用并创建管理用户,这样您就不会使用 root 用户执行日常任务。
保护你的 AWS 账户根用户
-
选择 Root 用户并输入您的 AWS 账户 电子邮件地址,以账户所有者的身份登录。AWS Management Console
在下一页上,输入您的密码。 要获取使用根用户登录方面的帮助,请参阅《AWS 登录 用户指南》中的 Signing in as the root user。
-
为您的根用户启用多重身份验证(MFA)。
有关说明,请参阅 I A M 用户指南中的为 AWS 账户 根用户启用虚拟 MFA 设备(控制台)。
创建具有管理访问权限的用户
-
启用 IAM Identity Center。
有关说明,请参阅《AWS IAM Identity Center 用户指南》中的 Enabling AWS IAM Identity Center。
-
在 IAM Identity Center 中,为用户授予管理访问权限。
有关使用 IAM Identity Center 目录 作为身份源的教程,请参阅《用户指南》 IAM Identity Center 目录中的使用默认设置配置AWS IAM Identity Center 用户访问权限。
以具有管理访问权限的用户身份登录
-
要使用您的 IAM Identity Center 用户身份登录,请使用您在创建 IAM Identity Center 用户时发送到您的电子邮件地址的登录网址。
有关使用 IAM Identity Center 用户登录的帮助,请参阅AWS 登录 用户指南中的登录 AWS 访问门户。
将访问权限分配给其他用户
-
在 IAM Identity Center 中,创建一个权限集,该权限集遵循应用最低权限的最佳做法。
有关说明,请参阅《AWS IAM Identity Center 用户指南》中的 Create a permission set。
-
将用户分配到一个组,然后为该组分配单点登录访问权限。
有关说明,请参阅《AWS IAM Identity Center 用户指南》中的 Add groups。
先决条件
Elastic Beanstalk 命令行界面——有关安装,请参阅。使用安装脚本安装 EB CLI(推荐)
PHP-按照 PHP 网站上的安装和配置
说明在本地计算机上安装 PHP。
步骤 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 来初始化环境。
初始化您的环境并创建环境
-
运行以下 init 命令:
eb init -i
init 命令以交互方式创建应用程序。应用程序名称将默认为本地文件夹,即
eb-php
。对于除了 SSH 访问以外的所有提示,请接受默认设置以使用最新 PHP 平台版本创建环境。要对实例进行故障排除,您可以稍后重新运行
eb init -i
命令来设置 SSH 访问权限,也可以使用 Amazon EC2 Instance Connect 或会话管理器进行连接。 -
创建环境并部署应用程序
运行以下命令创建名为的环境
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 环境
打开 Elastic Beanstalk
控制台,然后在 “区域” 列表中,选择您的。 AWS 区域 -
在导航窗格中,选择 Environments(环境),然后从列表中选择环境的名称。
-
选择 Actions(操作),然后选择 Terminate environment(终止环境)。
-
使用屏幕上的对话框确认环境终止。
或者,您可以使用 EB CLI 使用以下命令终止您的环境:
eb terminate
后续步骤
您可以使用 Elastic Beanstalk 控制台探索您的应用程序环境。有关更多信息,请参阅探索您的环境。
有关使用 PHP 的高级示例,请参见Elastic Beanstalk 中的 PHP 高级示例。