

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

# 步骤 2.3：向 PHP App Server 层添加实例 - Chef 11
<a name="gettingstarted-simple-instance"></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 支持 团队联系。

 OpsWorks Stacks 实例代表一个特定的亚马逊 EC2 实例：
+ 实例的配置指定了一些基本信息，例如 Amazon EC2operating 系统和大小；它可以运行，但作用不大。
+ 该实例的层通过确定要安装哪些软件包以及该实例是否拥有弹性 IP 地址等内容而向该实例添加功能。

OpsWorks Stacks 会在每个与服务交互的实例上安装代理。为了向实例添加层的功能， OpsWorks Stacks 会指示代理运行名为 [Chef recipes](http://docs.chef.io/recipes.html) 的小应用程序，这些应用程序可以安装应用程序和软件包、创建配置文件等。 OpsWorks Stacks 在实例[生命周期](workingcookbook-events.md)的关键时刻运行配方。例如，在实例完成启动后 OpsWorks 运行安装配方以处理诸如安装软件之类的任务；在部署应用程序以安装代码和相关文件时运行 Deploy 配方。

**注意**  
如果你对食谱的工作原理感到好奇，那么所有 OpsWorks Stacks 内置食谱都位于一个公共 GitHub 存储库中：[OpsWorks Cookbook](https://github.com/aws/opsworks-cookbooks) s。您也可以创建自己的自定义配方，并让 OpsWorks Stacks 运行它们，如下文所述。

要将 PHP 应用程序服务器添加到中 MyStack，请将实例添加到您在上一步中创建的 PHP App Server 层。

**向 PHP App Server 层添加另一个实例**

1. 

**打开“Add an Instance”**

   添加完图层后， OpsWorks Stacks 会显示 “**图层**” 页面。在导航窗格中，单击 **Instances**，然后在 **PHP App Server** 下单击 **Add an instance**。

1. 

**配置实例**

   每个实例都有一个由 OpsWorks Stacks 为您生成的默认主机名。在此示例中， OpsWorks Stacks 只是在图层的短名称中添加一个数字。您可以单独配置每个实例，包括覆盖您在创建堆栈时指定的某些默认设置，如可用区或操作系统。对于本演练，只需接受默认设置并单击 **Add Instance** 以将实例添加到该层即可。有关更多信息，请参阅 [实例](workinginstances.md)。  
![\[Form for adding a new PHP App Server instance with hostname, size, and subnet options.\]](http://docs.aws.amazon.com/zh_cn/opsworks/latest/userguide/images/gs7.png)

1. 

**启动实例**

   到目前为止，您只是指定了该实例的配置。您必须启动一个实例才能创建正在运行的 Amazon EC2 实例。 OpsWorks 然后，Stacks 使用配置设置在指定的可用区启动 Amazon EC2 实例。有关如何启动实例的详细信息取决于该实例的*扩展类型*。在上一步中，您创建了具有默认扩展类型 (*全天候*) 的实例，该实例必须手动启动，然后一直运行，直至手动停止。您还可以创建基于时间和基于负载的扩展类型， OpsWorks Stacks 会根据计划或当前负载自动启动和停止这些类型。有关更多信息，请参阅 [使用基于时间和基于负载的实例管理负载](workinginstances-autoscaling.md)。

   转到 **PHP App Server** 下的 **php-app1**，并单击该行的 **Actions** 列中的 **start** 以启动实例。  
![\[PHP App Server instance list showing php-app1 stopped with start and delete options.\]](http://docs.aws.amazon.com/zh_cn/opsworks/latest/userguide/images/gs8.png)

1. 

**启动期间监控实例的状态**

   启动 Amazon EC2 实例并安装软件包通常需要几分钟。在启动过程中，实例的 **Status** 字段会显示下面一系列值：

   1. 已@@ **请求**- OpsWorks Stacks 已调用亚马逊 EC2服务来创建亚马逊 EC2 实例。

   1. **待处理**- OpsWorks Stacks 正在等待 Amazon EC2 实例启动。

   1. **正在启动**-Amazon EC2 实例正在启动。

   1. **running\$1setup**- OpsWorks Stacks 代理正在运行层的安装配方，用于处理诸如配置和安装软件包之类的任务，以及 Deploy 配方（用于将任何应用程序部署到实例）。

   1. **online** - 实例已准备就绪，可供使用。

   php-app1 联机后，**Instances** 页面应与以下内容类似：  
![\[PHP App Server instance table showing php-app1 online with details like size and IP address.\]](http://docs.aws.amazon.com/zh_cn/opsworks/latest/userguide/images/gs9.png)

   该页面首先简要汇总堆栈的所有实例。现在，它显示一个联机实例。在 php-app1 **Actions** 列中，请注意，**stop** (停止实例) 已取代 **start** 和 **delete**。