У меня есть веб-сайт, работающий на экземпляре VPS отВультрпод управлением Ubuntu 18.04LTS, все в порядке. Я хотел попробовать снимок экземпляра в сеансе восстановления на всякий случай, если что-то плохое случится с системой. Поэтому я создалновыйэкземпляр и развернул этот снимок, как и ожидалось, но я не смог просмотреть свой веб-сайт и получил error establishing a database connection
после изменения DNS на новый IP-адрес. Таким образом, сеанс восстановления в этом случае не удался и не достиг своей цели. Я связался со службой поддержки, но они только указали, что мне нужно исправить некоторые сетевые настройки на новом экземпляре после восстановления снимка, но никаких конкретных инструкций о том, как это сделать в Ubuntu 18.04LTS, не было. Я проконсультировался с ихдокументация, но в нем ничего не упоминается о новой настройке сети, заменяющей netplan
серверы ifupdown
Ubuntu 180.04LTS.
Давайте я пойду по пунктам в документации. Я заметил следующее:
- на моем новом экземпляре
/etc/udev/rules.d/70-persistent-net.rules
файл пуст, в нем ничего нет. - Когда я просмотрел содержимое,
/etc/network/interfaces
внутри не было никаких IP-адресов, вместо этого у меня было это закомментированное сообщение.
# ifupdown был заменен на netplan(5) в этой системе. Смотрите # /etc/netplan для текущей конфигурации. # Чтобы снова включить ifupdown в этой системе, вы можете запустить: # sudo apt install ifupdown
Итак, я просмотрел /etc/netplan
настройки и у меня есть два файла:
01-netcfg.yaml
, а он пустой.
Другой 10-ens3.yaml
файл содержит следующую настройку:
network:
version:2
renderer: networkd
ethernets:
ens3:
dhcp4: yes
Итак, учитывая это, я полностью запутался в этой настройке. Я чувствую, что это не имеет значения для новой netplan
системы. Поэтому я был бы очень признателен, если бы вы могли помочь мне с правильной сетевой конфигурацией в этом случае, чтобы восстановить мой работающий веб-сайт.
решение1
Подсказка, любезно предоставленная @MichaelHampton, побудила к отладке на стороне WordPress в настройке. Да, мой дублированный сайт теперь снова работает и готов к публикации после смены DNS. Однако я не собираюсь делать этого сейчас, потому что я просто изучал этот метод, чтобы иметь его под рукой на случай, если с моей системой случится что-то плохое. Кстати, это открыло мне дорогу к тому, как разрабатывать свой(и) сайт(ы) надругойVPS сервер. Да, кто-то может подумать, что это недостаток, вам придется платить за этот сервер, но это нормально, это подтолкнет меня к разработке так быстро, как я смогу позволить себе оплатить новый сервер (относительно дешевая почасовая оплата). Еще одно преимущество, я могу иметьдругиепосетите сайт разработки и узнайте их мнение, прежде чем перейти к рабочему сайту.
Все, что мне нужно сделать, это сообщить им новый IP-адрес и доменное имя, конечно, затем они отредактируют их /etc/hosts
соответствующим образом на своей машине следующим образом:
[new-ip-address-no-brackets-pls] example.com www.example.com
они могут очистить данные просмотра в своих браузерах, а затем просмотреть этот сайт разработки, развернутый из снимка текущего работающего сайта, в то время как все остальные вселенные просматривают тот же сайт в его исходном состоянии, какая замечательная настройка для разработки веб-сайта!
Определенно это был бы мой метод разработки. Я не знаю другого метода, который мог бы легко превзойти этот, буду рад, если кто-то захочет поделиться.
Решение
просто «измените IP-адреса», где бы они ни были найдены, на вновь заданные в новом экземпляре: -wp-config.php
/etc/mysql/my.cnf
два местаhost
иbind-address
/etc/ee/ee.conf
но это может быть не нужнотеперь самое сложное — это редактирование MySQL, я использую MariaDB. Во-первых, вы не сможете войти в свой mysql как раньше, даже после всех замен, сделанных выше, мне не дадут разрешения войти в mysql на этом новом сервере, несмотря ни на что (не знаю почему). Поэтому обходным путем будет войти в систему как localhost, что экономит сценарий:
mysql -u root -h localhost -p
Затем вам необходимо войти в систему: как только вы войдете в систему, вы сможете выполнить замену всех ваших users@old-ip-address
данных в базе данных user@new-ip-address
, например:
mysql> RENAME USER root@[old-ip-add-without-square-brackets] TO root@[new-ip-address-again-without-square-brackets];
Обязательно замените IP-адреса всех ваших пользователей и, наконец, выполните:
mysql> FLUSH PRIVILEGES;
и затем я мог бы просмотреть мой недавно восстановленный экземпляр со всеми его сайтами. Если у вас больше одного сайта, очевидно, что вам нужно изменить IP-адрес внутри соответствующих wp-config.php
файлов, все остальные замены ниже /etc/
являются центральными на сервере, а не специфичными для сайта.