Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
So richten Sie eine Datenbankverbindung ein
Wichtig
Der AWS OpsWorks Stacks Service hat am 26. Mai 2024 das Ende seiner Lebensdauer erreicht und wurde sowohl für neue als auch für bestehende Kunden deaktiviert. Wir empfehlen Kunden dringend, ihre Workloads so bald wie möglich auf andere Lösungen zu migrieren. Wenn Sie Fragen zur Migration haben, wenden Sie sich an das AWS -Support Team auf AWS re:POST
Sie richten die Verbindung zwischen einem Anwendungsserver und seiner Backend-Datenbank ein, indem Sie ein benutzerdefiniertes Rezept verwenden. Das Rezept konfiguriert den Anwendungsserver wie benötigt, normalerweise es eine Konfigurationsdatei erstellt. Das Rezept bezieht die Verbindungsdaten wie den Host- und Datenbanknamen aus einer Reihe von Attributen in der Stack-Konfiguration und den Bereitstellungsattributen, die AWS OpsWorks Stacks auf jeder Instanz installiert.
Schritt 2 von Erste Schritte mit Chef 11 Linux-Stacks basiert beispielsweise auf einem Stack MyStack mit zwei Ebenen, PHP App Server und MySQL, mit jeweils einer Instanz. Sie stellen eine App namens SimplePHPApp auf der PHP App Server-Instanz bereit, die die Datenbank auf der MySQL-Instanz als Back-End-Datenspeicher verwendet. Wenn Sie die Anwendung bereitstellen, installiert AWS OpsWorks Stacks Stack-Konfigurations- und Bereitstellungsattribute, die die Informationen zur Datenbankverbindung enthalten. Das folgende Beispiel zeigt die Attribute der Datenbankverbindung, dargestellt als JSON:
{
...
"deploy": {
"simplephpapp": {
...
"database": {
"reconnect": true,
"password": null,
"username": "root",
"host": null,
"database": "simplephpapp"
...
},
...
}
}
}
Die Attributwerte werden von AWS OpsWorks Stacks bereitgestellt und entweder generiert oder basieren auf vom Benutzer bereitgestellten Informationen.
Damit SimplePhpApp auf den Datenspeicher zugreifen kann, müssen Sie die Verbindung zwischen dem PHP-Anwendungsserver und der MySQL-Datenbank einrichten, indem Sie dem Deploy-Lifecycle-Ereignis der PHP App Server-Ebene ein benutzerdefiniertes Rezept zuweisen. appsetup.rb Wenn Sie SimplePhpApp bereitstellen, wird AWS OpsWorks Stacks ausgeführtappsetup.rb
, wodurch eine Konfigurationsdatei mit dem Namen erstellt wird, die die Verbindung herstelltdb-connect.php
, wie im folgenden Auszug gezeigt.
node[:deploy].each do |app_name, deploy|
...
template "#{deploy[:deploy_to]}/current/db-connect.php" do
source "db-connect.php.erb"
mode 0660
group deploy[:group]
if platform?("ubuntu")
owner "www-data"
elsif platform?("amazon")
owner "apache"
end
variables(
:host => (deploy[:database][:host] rescue nil),
:user => (deploy[:database][:username] rescue nil),
:password => (deploy[:database][:password] rescue nil),
:db => (deploy[:database][:database] rescue nil),
:table => (node[:phpapp][:dbtable] rescue nil)
)
...
end
end
Den Variablen, die die Verbindung charakterisieren — hostuser, usw. — werden die entsprechenden Werte aus den Deploy-JSON-Attributen zugewiesen. [:deploy][:app_name][:database]
Der Einfachheit halber wird in diesem Beispiel davon ausgegangen, dass Sie bereits eine Tabelle mit dem Namen urler
erstellt haben, sodass der Tabellenname durch [:phpapp][:dbtable]
in der Attributdatei des Rezeptbuchs repräsentiert wird.
Dieses Rezept kann den PHP-Anwendungsserver tatsächlich mit jedem MySQL-Datenbankserver verbinden, nicht nur mit Mitgliedern einer MySQL-Schicht. Um einen anderen MySQL-Server zu verwenden, müssen Sie nur die [:database]
Attribute auf Werte setzen, die für Ihren Server geeignet sind, was Sie mit benutzerdefiniertem JSON tun können. AWS OpsWorks Stacks integriert diese Attribute und Werte dann in die Stack-Konfiguration und die Bereitstellungsattribute und appsetup.rb
verwendet sie, um die Vorlage zu erstellen, mit der die Verbindung eingerichtet wird. Weitere Informationen zum Überschreiben der Stack-Konfiguration und der Bereitstellungs-JSON-Datei finden Sie unter Überschreiben der Attribute.