

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

# 步骤 3.4：运行配方
<a name="gettingstarted-db-lifecycle"></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 支持 团队联系。

获得自定义说明书后，您需要在相应实例上运行配方。您可以手动[运行这些配方](workingcookbook-manual.md)。但是，通常需要在实例生命周期中的可预测点运行配方，例如在实例启动后或者在您部署应用程序时。本节介绍一种简单得多的方法：让 OpsWorks Stacks 在适当的时间自动为你运行它们。

OpsWorks Stacks 支持一系列[生命周期事件](workingcookbook-events.md)，可简化运行配方。例如，“设置”事件在实例完成启动后发生，“部署”事件在部署应用程序时发生。每个层都有一组与每个生命周期事件关联的内置配方。当实例上发生生命周期事件时，代理会为实例的每个层运行关联的配方。要让 OpsWorks Stacks 自动运行自定义配方，请将其添加到相应层的相应生命周期事件中，代理将在内置配方完成后运行配方。

在此示例中，你需要在 My SQLinstance 和 PHP App Server 实例`appsetup.rb`上运行两个配方。`dbsetup.rb`

**注意**  
您可以使用*cookbook\$1name*:: *recipe\$1name* 格式在控制台上指定配方，其中*recipe\$1name*不包含.rb 扩展名。例如，您可以把 `dbsetup.rb` 作为 **phpapp::dbsetup**。

**将自定义配方分配给生命周期事件**

1. 在 **层** 页面上，对于 MySQL，单击 **配方**，然后单击 **编辑**。

1.  在 **Custom Chef recipes** 部分中，对于 **Deploy**，输入 [**phpapp::dbsetup**](gettingstarted-db-recipes.md#gettingstarted-db-recipes-dbsetup)。  
![\[Custom Chef recipes section with Repository URL and three configuration steps.\]](http://docs.aws.amazon.com/zh_cn/opsworks/latest/userguide/images/gsb6a.png)

1. 单击 **\$1** 图标将配方分配给事件，然后单击 **Save** 以保存新层配置。

1. 返回 **Layers (层)** 页面，然后重复该步骤将 **phpapp::appsetup** 分配给 **PHP App Server (PHP 应用程序服务器)** 层的 **Deploy (部署)** 事件。