Ich habe eine Website auf einer VPS-Instanz vonVultrmit Ubuntu 18.04LTS läuft alles einwandfrei. Ich wollte einen Snapshot der Instanz in einer Wiederherstellungssitzung ausprobieren, nur für den Fall, dass etwas Schlimmes mit dem System passiert. Also habe ich einenneuInstanz und habe diesen Snapshot wie erwartet bereitgestellt, aber ich konnte meine Website nicht anzeigen und bekam error establishing a database connection
nach dem Ändern des DNS auf die neue IP-Adresse keine Antwort. Die Wiederherstellungssitzung ist in diesem Fall also fehlgeschlagen und hat ihr Ziel nicht erreicht. Ich habe das Support-Team kontaktiert, aber sie haben nur darauf hingewiesen, dass ich nach der Wiederherstellung des Snapshots einige Netzwerkkonfigurationen auf der neuen Instanz korrigieren muss, aber keine spezifischen Anweisungen, wie das unter Ubuntu 18.04LTS zu tun ist. Ich habe ihreDokumentation, aber es wurde nichts über die neue Netzwerkeinrichtung erwähnt, die die Ubuntu 180.04LTS-Server netplan
ersetzt ifupdown
.
Ich gehe die Dokumentation Punkt für Punkt durch. Mir ist Folgendes aufgefallen:
- Auf meiner neuen Instanz
/etc/udev/rules.d/70-persistent-net.rules
ist die Datei leer, es ist nichts darin. - als ich den Inhalt überprüfte,
/etc/network/interfaces
waren darin keine IP-Adressen, stattdessen erschien diese auskommentierte Meldung.
# ifupdown wurde auf diesem System durch netplan(5) ersetzt. Die aktuelle Konfiguration finden Sie unter # /etc/netplan. # Um ifupdown auf diesem System wieder zu aktivieren, können Sie Folgendes ausführen: # sudo apt install ifupdown
Ich habe also /etc/netplan
das Setup überprüft und dort habe ich zwei Dateien:
01-netcfg.yaml
, und es ist leer.
Die andere 10-ens3.yaml
Datei enthält dieses Setup:
network:
version:2
renderer: networkd
ethernets:
ens3:
dhcp4: yes
Vor diesem Hintergrund bin ich mit diesem Setup völlig überfordert. Ich habe das Gefühl, dass es für das neue netplan
System irrelevant ist. Daher wäre ich sehr dankbar, wenn Sie mir in diesem Fall mit der richtigen Netzwerkkonfiguration helfen könnten, um meine Live-Website wiederherzustellen.
Antwort1
Der freundliche Hinweis von @MichaelHampton hat die Debugging-Aktion auf der WordPress-Seite des Setups ausgelöst. Ja, meine duplizierte Site ist jetzt wieder einsatzbereit und nach der Änderung des DNS bereit, öffentlich zugänglich zu sein. Ich werde das jetzt jedoch nicht tun, da ich diese Methode nur untersucht habe, um sie zur Hand zu haben, falls meinem System etwas Schlimmes zustößt. Übrigens hat mir dies Wege eröffnet, wie ich meine Website(s) auf einemandersVPS-Server. Ja, man könnte meinen, der Nachteil dabei ist, dass man für diesen Server bezahlen muss, aber das ist in Ordnung, denn dadurch werde ich die Entwicklung so schnell vorantreiben, wie ich es mir leisten kann, den neuen Server zu bezahlen (relativ günstige Stundenzahlungen). Ein weiterer Vorteil: Ich kannAndereBesuchen Sie die Entwicklungssite und holen Sie sich ihre Meinung ein, bevor Sie zur Produktionssite gehen.
Ich muss ihnen nur die neue IP-Adresse und den Domänennamen mitteilen, und natürlich bearbeiten sie diese dann /etc/hosts
auf ihrem Computer entsprechend auf diese Weise:
[new-ip-address-no-brackets-pls] example.com www.example.com
Sie können die Browserdaten in ihren Browsern löschen und dann diese Entwicklungssite anzeigen, die aus einem Snapshot der aktuellen Live-Site bereitgestellt wurde, während alle anderen dieselbe Site in ihrem ursprünglichen Zustand anzeigen. Was für ein wunderbares Setup für die Website-Entwicklung!
Das wäre definitiv meine bevorzugte Methode für die Entwicklung. Ich kenne keine andere Methode, die diese hier leicht schlagen kann, und freue mich, wenn jemand einige davon teilen möchte.
Lösung
Geben Sie einfach „Ändern Sie die IP-Adressen überall dort, wo sie gefunden werden, auf die neu zugewiesene Adresse der neuen Instanz ein: -wp-config.php
/etc/mysql/my.cnf
zwei Standortehost
undbind-address
/etc/ee/ee.conf
aber das ist vielleicht nicht nötigjetzt ist der schwierige Teil die MySQL-Bearbeitung, ich verwende MariaDB. Erstens könnten Sie sich nicht wie bisher bei Ihrem MySQL anmelden, selbst nach all den oben durchgeführten Ersetzungen. Ich würde auf keinen Fall die Berechtigung erhalten, mich bei MySQL auf diesem neuen Server anzumelden (keine Ahnung, warum). Eine Problemumgehung wäre also, sich als localhost anzumelden, was das Szenario spart:
mysql -u root -h localhost -p
Anschließend müssen Sie angemeldet sein. Dort können Sie alle Ihre Datenbanken austauschen, users@old-ip-address
zum user@new-ip-address
Beispiel:
mysql> RENAME USER root@[old-ip-add-without-square-brackets] TO root@[new-ip-address-again-without-square-brackets];
Stellen Sie sicher, dass Sie die IP-Adresse für alle Ihre Benutzer ersetzen, und führen Sie abschließend Folgendes aus:
mysql> FLUSH PRIVILEGES;
und dann konnte ich meine neu wiederhergestellte Instanz mit all ihren Sites anzeigen. Wenn Sie mehr als eine Site haben, müssen Sie natürlich die IP-Adresse in den jeweiligen wp-config.php
Dateien ändern, alle anderen Ersetzungen darunter /etc/
erfolgen zentral auf dem Server und sind nicht sitespezifisch.