步骤 4:部署 WordPress 应用程序
现在,您部署已上传到 Amazon S3 的示例 WordPress 应用程序修订。您可以使用 AWS CLI 或 AWS CodeDeploy 控制台部署修订并监视部署进度。成功部署应用程序修订之后,可以检查结果。
使用 AWS CodeDeploy 部署您的应用程序修订
部署您的应用程序修订 (CLI)
-
部署需要部署组。不过,在创建部署组之前,您需要服务角色 ARN。服务角色是 IAM 角色,该角色授予某个服务代表您执行操作的权限。在这种情况下,服务角色将提供 AWS CodeDeploy 权限来访问您的 Amazon EC2 实例,以扩展 (读取) 其 Amazon EC2 实例标签。
您应该已经按照创建服务角色 (CLI) 中的说明创建了服务角色。要获取服务角色的 ARN,请参阅获取服务角色 ARN (CLI) 。
-
现在您已获得服务角色 ARN,可以调用 create-deployment-group 命令以创建一个名为
WordPress_DepGroup
的部署组,它与一个名为WordPress_App
的应用程序关联,并且使用名为CodeDeployDemo
的 Amazon EC2 标签和名为CodeDeployDefault.OneAtATime
的部署配置:aws deploy create-deployment-group \ --application-name WordPress_App \ --deployment-group-name WordPress_DepGroup \ --deployment-config-name CodeDeployDefault.OneAtATime \ --ec2-tag-filters Key=Name,Value=CodeDeployDemo,Type=KEY_AND_VALUE \ --service-role-arn
serviceRoleARN
注意
create-deployment-group 命令支持创建触发器,这些触发器导致向主题订阅者发送有关部署和实例中的指定事件的 Amazon SNS 通知。此命令还支持以下选项:自动回滚部署和设置警报以便在满足 Amazon CloudWatch 警报中的监控阈值时停止部署。本教程中未包含适用于这些操作的命令。
-
现在调用 create-deployment 命令以创建一个与名为
WordPress_App
的应用程序、名为CodeDeployDefault.OneAtATime
的部署配置和名为WordPress_DepGroup
的部署组关联的部署,它使用名为codedeploydemobucket
的存储桶中的名为WordPressApp.zip
的应用程序修订:aws deploy create-deployment \ --application-name WordPress_App \ --deployment-config-name CodeDeployDefault.OneAtATime \ --deployment-group-name WordPress_DepGroup \ --s3-location bucket=codedeploydemobucket,bundleType=zip,key=WordPressApp.zip
部署应用程序修订(控制台)
-
在使用 AWS CodeDeploy 控制台部署您的应用程序修订之前,您需要服务角色 ARN。服务角色是 IAM 角色,该角色授予某个服务代表您执行操作的权限。在这种情况下,服务角色将提供 AWS CodeDeploy 权限来访问您的 Amazon EC2 实例,以扩展 (读取) 其 Amazon EC2 实例标签。
您应该已经按照创建服务角色(控制台) 中的说明创建了服务角色。要获取服务角色的 ARN,请参阅获取服务角色 ARN(控制台) 。
-
现在您已拥有 ARN,可以开始使用 AWS CodeDeploy 控制台部署您的应用程序修订:
Sign in to the AWS 管理控制台 and open the AWS CodeDeploy console at https://console.amazonaws.cn/codedeploy.
注意
Sign in with the same account or IAM user information you used in AWS CodeDeploy 入门.
-
如果未显示 Applications 页,请在 AWS CodeDeploy 菜单上选择 Applications。
-
在应用程序列表中,选择 WordPress_App。
-
在 Deployment groups 下,选择 Create deployment group。
-
在 Deployment group name 中,键入
WordPress_DepGroup
。 -
在 Deployment type 下,选择 In-place deployment。
-
在 Environment configuration 中,选择 Amazon EC2 instances 选项卡。
-
在 Key 框中,键入
Name
。 -
在 Value 框中,键入
CodeDeployDemo
。注意
键入
CodeDeployDemo
后,Instances 下方应显示 1 来确认 AWS CodeDeploy 已找到一个匹配的 Amazon EC2 实例。 -
在 Deployment configuration 下拉列表中,选择 CodeDeployDefault.OneAtATime。
-
在 Service role ARN 下拉列表中,选择服务角色 ARN,然后选择 Create deployment group。
-
在 Application details 页上,选择新部署组旁边的按钮。从 Actions 菜单中,选择 Deploy new revision。
-
在 Application 下拉列表中,选择 WordPress_App。
-
在 Deployment group 下拉列表中,选择 WordPress_DepGroup。
-
在 Repository type 的旁边,选择 My application is stored in Amazon S3。在 Revision location 中,键入您之前上传到 Amazon S3 的示例 WordPress 应用程序修订的位置。获取位置:
-
通过以下网址打开 Amazon S3 控制台:https://console.amazonaws.cn/s3/。
-
在存储桶列表中,选择 codedeploydemobucket (或您将应用程序修订上传到的存储桶的名称)。
-
在对象列表中,选择 WordPressApp.zip。
-
在概述选项卡中,将链接字段的值复制到您的剪贴板。
其内容如下所示:
https://s3.amazonaws.com/codedeploydemobucket/WordPressApp.zip
-
返回 AWS CodeDeploy 控制台,在 Revision location 中,粘贴 Link 字段值。
-
-
如果文件类型列表中显示的消息告诉您无法检测文件类型,请选择 .zip。
-
(可选) 在 Deployment description 框中键入注释。
-
从 Deployment configuration 下拉列表中,选择 CodeDeployDefault.OneAtATime。
-
选择 Deploy。有关您新创建的部署的信息将显示在 Deployments 页上。
注意
要获取部署的当前状态,请选择表旁边的 Refresh 按钮。
监控您的部署并排除故障
监视您的部署并排除故障 (CLI)
-
通过对名为
WordPress_App
的应用程序和名为WordPress_DepGroup
的部署组调用 list-deployments 命令来获取部署的 ID:aws deploy list-deployments --application-name WordPress_App --deployment-group-name WordPress_DepGroup --query 'deployments' --output text
-
使用部署 ID 调用 get-deployment 命令:
aws deploy get-deployment --deployment-id
deploymentID
--query 'deploymentInfo.status' --output text -
该命令将返回部署的整体状态。如果成功,该值将为
Succeeded
。如果整体状态为
Failed
,则您可以调用诸如 list-deployment-instances 和 get-deployment-instance 等命令来排除故障。有关更多故障排除选项,请参阅分析日志文件以调查针对实例的部署失败。
监视您的部署和故障排除(控制台)
在 AWS CodeDeploy 控制台的 Deployments 页上,可在 Status 列中监视部署的状态。
注意
要获取部署的当前状态,请选择表上方的 Refresh 按钮。
要获取有关部署的详细信息(特别是在 Status 列值为 Succeeded 之外的任何值的情况下),请执行以下操作:
-
在 Deployments 表中,选择部署 ID 旁的箭头。部署失败后,Details 中将显示描述失败原因的消息。
-
在 Instances 中,选择 View all instances。此时将显示有关部署的更多信息。部署失败之后,您可以确定在哪些 Amazon EC2 实例上失败以及部署在哪个步骤失败。
注意
如果您未看到 Instances,请选择表上方的 Refresh 按钮。在 Status 列从 In progress 更改为 Created 之后,应显示 Instances。
-
如果您要执行更多问题排查,则可使用与View Instance Details中描述方法类似的方法。您还可以分析有关 Amazon EC2 实例的部署日志文件。有关更多信息,请参阅 分析日志文件以调查针对实例的部署失败。
验证您的部署
部署成功后,请验证您的 WordPress 安装是否正常工作。使用 Amazon EC2 实例的公有 DNS 地址(后跟 /WordPress
)以在 Web 浏览器中查看您的站点。(要获取公有 DNS 值,请在 Amazon EC2 控制台中选择 Amazon EC2 实例,然后在 Description 选项卡上查找 Public DNS 的值。)
例如,如果 Amazon EC2 实例的公共 DNS 地址为 ec2-01-234-567-890.compute-1.amazonaws.com
,则您可以使用以下 URL:
http://ec2-01-234-567-890.compute-1.amazonaws.com/WordPress
当您在浏览器中查看站点时,您应看到类似于下文的 WordPress 欢迎页面:

如果您的 Amazon EC2 实例没有添加任何 HTTP 入站规则到其安全组,则不显示 WordPress 欢迎页面。如果您看到说明服务器未响应的消息,请确保您 Amazon EC2 实例的安全组具有入站规则。有关更多信息,请参阅 添加入站规则,允许 HTTP 流量指向您的 Amazon Linux 或 RHEL Amazon EC2 实例。