

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

# 步骤 2.4：创建和部署应用程序 - Chef 11
<a name="gettingstarted-simple-app"></a>

**重要**  
该 AWS OpsWorks Stacks 服务于 2024 年 5 月 26 日终止，新客户和现有客户均已禁用。我们强烈建议客户尽快将其工作负载迁移到其他解决方案。如果您对迁移有疑问，请通过 re [AWS : Post 或通过 Pre](https://repost.aws/) mium Su [AWS pp](https://aws.amazon.com/support) ort 与 AWS 支持 团队联系。

为了使其 MyStack 更有用，您需要将应用程序部署到 PHP App Server 实例。您将应用程序代码和任何相关文件存储在 Git 之类的存储库中。要将这些文件放到应用程序服务器上，您需要采取以下几个步骤：

**注意**  
本部分中的过程适用于 Chef 11 堆栈。有关如何向 Chef 12 堆栈的层中添加应用程序的信息，请参阅[添加应用程序](workingapps-creating.md)。

1. 创建应用程序。

   应用程序包含 OpsWorks Stacks 从存储库下载代码和相关文件所需的信息。您也可以指定其他信息，如应用程序的域。

1. 将应用程序部署到应用程序服务器。

   部署应用程序时， OpsWorks Stacks 会触发 Deploy 生命周期事件。代理随后会运行该实例的 Deploy 配方，这会将文件下载到合适目录并执行相关任务 (如配置服务器、重启服务等)。

**注意**  
当您创建新实例时， OpsWorks Stacks 会自动将所有现有应用程序部署到该实例。但是，当您创建新应用程序或更新现有应用程序时，必须手动部署该应用程序或对所有现有实例进行更新。

此步骤显示了如何手动将示例应用程序从公有 Git 存储库部署到应用程序服务器。如果要检查应用程序，请转到 [https://github.com/amazonwebservices/opsworks-demo-php-simple-app](https://github.com/amazonwebservices/opsworks-demo-php-simple-app)。本示例中使用的应用程序位于版本 1 分支中。 OpsWorks 堆栈还支持其他几种存储库类型。有关更多信息，请参阅 [应用程序源](workingapps-creating.md#workingapps-creating-source)。

**创建和部署应用程序**

1. 

**打开应用程序页面**

   在导航窗格中，单击 **Apps**，然后在 **Apps** 页面上单击 **Add an app**。  
![\[Apps page showing no apps and an "Add an app" button with a brief description.\]](http://docs.aws.amazon.com/zh_cn/opsworks/latest/userguide/images/gs13.png)

1. 

**配置应用程序**

   在 **App** 页上，指定以下值：  
**Name**  
应用程序的名称， OpsWorks Stacks 将其用于显示目的。示例应用程序名为**SimplePHPApp**。 OpsWorks Stacks 还会生成一个简短的名称（在本例中为 simplephpapp），该名称供内部使用和 Deploy 配方使用，如后所述。  
**Type**  
应用程序的类型 (将决定在哪里部署该应用程序)。示例使用的是 **PHP**，这会将该应用程序部署到 PHP App Server 实例。  
**数据来源类型**  
关联的数据库服务器。现在选择 **None**；我们将在[步骤 3：添加后端数据存储](gettingstarted-db.md)中介绍数据库服务器。  
**存储库类型**  
应用程序的存储库类型。示例应用程序存储在 **Git** 存储库中。  
**Repository URL**  
应用程序的存储库 URL。示例 URL 为：**git://github.com/awslabs/opsworks-demo-php-simple-app.git**  
**分支/修订**  
应用程序的分支或版本。本部分演练使用 **version1** 分支。

   将其余设置保留默认值，然后单击 **Add App**。有关更多信息，请参阅 [添加应用程序](workingapps-creating.md)。  
![\[Add App form with settings for name, type, document root, data sources, and application source.\]](http://docs.aws.amazon.com/zh_cn/opsworks/latest/userguide/images/gs14.png)

1. 

**打开部署页面**

   要在服务器上安装代码，您必须*部署*应用程序。为此，请在 “简单PHPApp**操作**” 列中单击 “**部署**”。  
![\[Apps table showing SimplePHPApp with deploy, edit, and delete options in the Actions column.\]](http://docs.aws.amazon.com/zh_cn/opsworks/latest/userguide/images/gs15.png)

1. 

**部署应用程序**

   部署应用程序时，代理将在 PHP App Server 实例上运行 Deploy 配方 (这将下载和配置应用程序)。

   **Command** 应该已经设置为 **deploy**。对于其他设置，保持默认设置不变，然后单击 **Deploy** 以部署应用程序。  
![\[Deploy app interface with settings for SimplePHPApp and instance selection options.\]](http://docs.aws.amazon.com/zh_cn/opsworks/latest/userguide/images/gs16.png)

   完成部署后，**Deployment** 页面将显示 **Status** 为 **Successful**，并且 **php-app1** 旁边会出现一个绿色对勾。

1. 

**简单运行 PHPApp**

   PHPApp Simple 现已安装并准备就绪。要运行它，请在导航窗格中单击 **Instances** 以转到 **Instances** 页面。然后单击 php-app1 实例的公有 IP 地址。  
![\[PHP App Server instance details showing hostname, status, size, and public IP address.\]](http://docs.aws.amazon.com/zh_cn/opsworks/latest/userguide/images/gs20.png)

   您应在浏览器中看到如下所示的页面。  
![\[Confirmation page for a simple PHP application running on AWS 云 with PHP version 5.3.20.\]](http://docs.aws.amazon.com/zh_cn/opsworks/latest/userguide/images/gs21.png)

**注意**  
本演练假定您将继续执行下一部分并最终在一个会话中完成整个演练。如果你愿意，你可以随时停下来，稍后通过登录 OpsWorks Stacks 并打开堆栈继续操作。但是，您需要为所使用的任何 AWS 资源 (如联机实例) 付费。为避免不必要的费用，您可以停止您的实例，从而终止相应的 EC2实例。当您准备好继续时，可以再次启动该实例。