在新創建的 VPS 實例上恢復快照後的網路配置
我有一個網站在執行 Ubuntu 18.04LTS 的 Vultr 的 VPS 實例上啟動並執行,一切都很好。我想在還原會話中嘗試實例的快照,以防系統發生不良情況。因此,我創建了一個新
error establishing a database connection
實例並按預期部署了該快照,但在將 DNS 更改為新 IP 地址後,我無法查看我的網站並獲得。因此,在這種情況下,恢復會話失敗並且沒有實現其目標。我聯繫了支持團隊,但他們只指出我必須在快照還原後更正新實例上的一些網路配置,但沒有關於如何在 Ubuntu 18.04LTS 上執行此操作的具體說明。我查閱了他們的文件,但它沒有提到在 Ubuntu 180.04LTS 伺服器中netplan
替換的新網路設置。ifupdown
讓我在文件中點對點,我注意到以下內容:
- 在我的新實例上,
/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
我覺得這與新系統無關。因此,如果您能在這種情況下幫助我進行正確的網路配置以恢復我的實時網站,我將不勝感激。
@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;
然後我可以查看我新恢復的實例及其所有站點。如果您有多個站點,很明顯您必須更改各自wp-config.php
文件中的 IP 地址,所有其他替換/etc/
都位於伺服器的中心,沒有特定於站點的位置。