本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
重要
该 AWS OpsWorks Stacks 服务于 2024 年 5 月 26 日终止,新客户和现有客户均已禁用。我们强烈建议客户尽快将其工作负载迁移到其他解决方案。如果您对迁移有疑问,请通过 re AWS : Post 或通过 Pre
一旦创建了用作 PHP 应用程序服务器后端数据库的 RDS 实例,就可以 MyStack从中Chef 11 Linux 堆栈入门进行自定义。
将 PHP 应用程序服务器连接到 RDS 数据库
-
打开 AWS OpsWorks Stacks 控制台,使用包含一个实例的 PHP App Server 层创建一个堆栈,然后部署 SimplePHPApp,如中所Chef 11 Linux 堆栈入门述。此堆栈使用 Simple 版本 1PHPApp,它不使用数据库连接。
-
更新堆栈配置以使用包括
appsetup.rb
配方、相关模板和属性文件的自定义说明书。-
将 Use custom Chef cookbooks 设置为 Yes。
-
将 Repository type 设置为 Git,并将 Repository URL 设置为
git://github.com/amazonwebservices/opsworks-example-cookbooks.git
。
-
-
将以下代码添加到堆栈的 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 应用程序服务器层的内置配置配方用来创建不同的配置文件。
-
-
编辑 PHPApp Simple 配置以指定使用后端数据库PHPApp 的 Simple 版本,如下所示:
-
Document root:将此选项设置为
web
。 -
Branch/Revision:将此选项设置为
version2
。
其余选项保持不变。
-
-
编辑 PHP 应用程序服务器层来设置数据库连接,方法是将 添加到层的 Deploy 配方中。
-
部署 PHPApp Simple 后,前往实例页面并单击 php-app1 实例的公有 IP 地址来运行应用程序。您应在浏览器中看到以下页面,您可以在其中输入文本,然后将其存储在数据库中。
注意
如果您的堆栈有 MySQL 层, AWS OpsWorks Stacks 会自动将相应的连接数据分配给属性。[:database]
但是,如果您将自定义 JSON 分配给定义不同 [:database]
值的堆栈,则它们会覆盖默认值。因为 [:deploy]
属性安装在每个实例上,所以任何依赖 [:database]
属性的配方都将使用自定义连接数据而非 MySQL 层数据。如果您想让一个特定应用程序服务器层使用自定义连接数据,则将自定义 JSON 分配给该层的 Deploy 事件,并限制部署只到该层。有关如何使用部署属性的更多信息,请参阅部署应用程序。有关重写 AWS OpsWorks Stacks 内置属性的更多信息,请参阅覆盖属性。