选择您的 Cookie 首选项

我们使用必要 Cookie 和类似工具提供我们的网站和服务。我们使用性能 Cookie 收集匿名统计数据,以便我们可以了解客户如何使用我们的网站并进行改进。必要 Cookie 无法停用,但您可以单击“自定义”或“拒绝”来拒绝性能 Cookie。

如果您同意,AWS 和经批准的第三方还将使用 Cookie 提供有用的网站功能、记住您的首选项并显示相关内容,包括相关广告。要接受或拒绝所有非必要 Cookie,请单击“接受”或“拒绝”。要做出更详细的选择,请单击“自定义”。

自定义堆栈以连接到 RDS 数据库

聚焦模式
自定义堆栈以连接到 RDS 数据库 - AWS OpsWorks

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

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

重要

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

一旦创建了用作 PHP 应用程序服务器后端数据库的 RDS 实例,就可以 MyStack从中Chef 11 Linux 堆栈入门进行自定义。

将 PHP 应用程序服务器连接到 RDS 数据库
  1. 打开 AWS OpsWorks Stacks 控制台,使用包含一个实例的 PHP App Server 层创建一个堆栈,然后部署 SimplePHPApp,如中所Chef 11 Linux 堆栈入门述。此堆栈使用 Simple 版本 1PHPApp,它不使用数据库连接。

  2. 更新堆栈配置以使用包括 appsetup.rb 配方、相关模板和属性文件的自定义说明书。

    1. Use custom Chef cookbooks 设置为 Yes

    2. Repository type 设置为 Git,并将 Repository URL 设置为 git://github.com/amazonwebservices/opsworks-example-cookbooks.git

  3. 将以下代码添加到堆栈的 Custom Chef JSON 框中,以将 RDS 连接数据分配给 appsetup.rb 用来创建配置文件的 [:database] 属性。

    { "deploy": { "simplephpapp": { "database": { "username": "opsworksuser", "password": "your_password", "database": "rdsexampledb", "host": "rds_endpoint", "adapter": "mysql" } } } }

    使用以下属性值:

    • username:在创建 RDS 实例时指定的主用户名。

      此示例使用 opsworksuser

    • password:创建 RDS 实例时指定的主密码。

      填写您指定的密码。

    • database:在创建 RDS 实例时创建的数据库。

      此示例使用 rdsexampledb

    • host:您在上一部分中创建实例时从 RDS 控制台获得的 RDS 实例终端节点。不要包括端口号。

    • adapter:适配器。

      本示例的 RDS 实例使用 MySQL,所以 adapter 设置为 mysql。与其他属性不同,adapter 不由 appsetup.rb 使用,而是被 PHP 应用程序服务器层的内置配置配方用来创建不同的配置文件。

  4. 编辑 PHPApp Simple 配置以指定使用后端数据库PHPApp 的 Simple 版本,如下所示:

    • Document root:将此选项设置为 web

    • Branch/Revision:将此选项设置为 version2

    其余选项保持不变。

  5. 编辑 PHP 应用程序服务器层来设置数据库连接,方法是将 添加到层的 Deploy 配方中。

  6. 部署新的简单PHPApp版本

  7. 部署 PHPApp Simple 后,前往实例页面并单击 php-app1 实例的公有 IP 地址来运行应用程序。您应在浏览器中看到以下页面,您可以在其中输入文本,然后将其存储在数据库中。

    Text input field labeled "Your Thoughts" with a "Share Your Thought" button.
注意

如果您的堆栈有 MySQL 层, AWS OpsWorks Stacks 会自动将相应的连接数据分配给属性。[:database]但是,如果您将自定义 JSON 分配给定义不同 [:database] 值的堆栈,则它们会覆盖默认值。因为 [:deploy] 属性安装在每个实例上,所以任何依赖 [:database] 属性的配方都将使用自定义连接数据而非 MySQL 层数据。如果您想让一个特定应用程序服务器层使用自定义连接数据,则将自定义 JSON 分配给该层的 Deploy 事件,并限制部署只到该层。有关如何使用部署属性的更多信息,请参阅部署应用程序。有关重写 AWS OpsWorks Stacks 内置属性的更多信息,请参阅覆盖属性

隐私网站条款Cookie 首选项
© 2025, Amazon Web Services, Inc. 或其附属公司。保留所有权利。