如何將您的網站從一台主機遷移到另一台主機
已發表: 2022-07-05您已準備好為您的 Magento 或 WordPress 網站遷移到託管主機。 您在 Nexcess 有一項新服務,但您如何真正實現飛躍?
繼續閱讀以了解如何將您的網站從一台主機遷移到另一台主機——在這種情況下,從 AWS 遷移到 Nexcess 完全託管的主機。
什麼是遷移?
當我們說“服務器遷移”時,我們的意思是將關鍵數據從一台服務器複製或移動到另一台服務器,並配置該目標服務器以替換第一台服務器。 網絡託管世界中的服務器遷移可能涉及設置網絡服務器和數據庫軟件,複製網站及其配置,以及更改 DNS 以將訪問者引導到該新服務器。
服務器遷移在服務器的生命週期中非常重要,可確保操作系統及其下的硬件與當前技術保持同步,節省和整合託管,或擴展和分發託管以幫助減少單點負載.
如何將您的網站遷移到 Nexcess:最簡單的方法
Nexcess 的所有託管託管計劃均免費提供端到端遷移支持。 如果您希望我們為您完成所有繁重的工作,請問! 您可以通過提供要轉移的域的名稱及其訪問憑證來從 Nexcess 門戶請求遷移。
在大多數情況下,遷移可以在一周或更短的時間內完成。 我們提供了在遷移數據最初同步後對其進行測試的機會,並要求您在遷移完成後更新 DNS。 這將使您的新主機生效。 除此之外,我們的專家擁有將您的網站準確複製到新家所需的一切。
在某些情況下,您可能希望執行自己的手動遷移。 例如,您可能有一個非常嚴格的離開舊主機的時間框架,並且不能排隊等待下一位遷移技術人員可用。 或者,您可能只是希望擁有執行自己的遷移的經驗。
無論是哪種情況,這些步驟都應該可以幫助您將您的網站從 AWS 或其他任何地方遷移到 Nexcess 完全託管的主機上。
如何手動遷移您的網站(適用於 WordPress 用戶)
如果您使用 WordPress,將 CMS 遷移到 Nexcess Cloud 的一種簡單方法是使用我們方便的遷移插件。 此插件安裝在您的源站點上,並使用您從 Nexcess 控制面板提供的 FTP 憑據將所需的所有數據直接拉入目標主機帳戶。
單擊此處以獲取有關如何遷移 WordPress 網站的詳細說明。如何通過 8 個步驟手動將網站從一台主機遷移到另一台主機
要試試嗎? 以下是手動將文件和數據庫從任何源供應商以及任何支持的 CMS 複製到 Nexcess Cloud 所需的步驟。
對於我們的示例,我們將從 AWS 遷移一個 Magento 站點。
1. 開始之前
遷移的核心是將站點文件和數據庫複製到新站點,並更新 DNS 以將流量引導到新位置。 這需要從您的源(在本例中為 AWS)訪問文件和數據庫,並訪問正確的位置以將這些文件和數據庫放入 Nexcess。 您還需要一個程序來收集所有站點文件並將它們推送到 Nexcess 主機。
假設您使用 Lightsail 在 AWS 上安裝 Magento 實例,您應該能夠從 AWS 控制面板連接到您的實例,並使用瀏覽器中的終端窗口。
您的 Nexcess SFTP/SSH 憑證也位於您的計劃儀表板中。 如果您之前從未在雲帳戶上連接過 SFTP/SSH,則需要生成一個新密碼。 在安全的地方記錄下來。
和以前一樣,您需要找出當前站點的 DNS 託管在哪裡。 這些是將您的域名轉換為 IP 地址的記錄,我們將在遷移結束時更新它們。 您通常可以通過查看 NS 記錄來發現這一點。
2. 連接你的機器
現在您已經擁有兩台機器的 SSH 憑據,它們需要相互連接才能傳輸數據。 有多種方法可以實現這一點,但最簡單的方法是讓源 (AWS) 機器直接與目標 (Nexcess) 機器對話。
您的 Nexcess Cloud 的 SSH shell 提供了多種工具來完成此任務,包括 rsync、ssh、lftp 和 scp。 我們將使用其中一些命令來完成我們的遷移。
首先,我們將 SSH 連接到 AWS 賬戶。 按照亞馬遜的這些說明連接到您的服務器的基於 Web 的終端。
現在我們在源計算機上,我們可以使用計劃儀表板中列出的單行 SSH 命令在目標服務器上獲取 shell:
ssh [email protected] “echo hello”
該字符串將詢問您的 Nexcess 用戶密碼。 輸入後,AWS 機器將連接到 Nexcess Cloud 服務器。 讓它運行“echo hello”命令(將“hello”這個詞打印到終端),然後退出 SSH 會話。 如果您看到“你好”,則說明您已成功通過身份驗證,我們已準備好遷移!
3. 定位數據
假設您使用 Lightsail 的 Bitnami Magento 安裝,您的 AWS 實例上的文件將位於 /opt/bitnami/magento/ 或 /opt/bitnami/apps/magento/htdocs/,具體取決於服務器的使用年限。
找到文檔根目錄後,您還需要獲取數據庫連接信息。 這可以從 Magento 配置文件中提取,如下所示:
Magento 1:
grep -e username -e password -e dbname \ /opt/bitnami/apps/magento/htdocs/app/etc/local.xml
Magento 2:
grep -e username -e password -e dbname \ /opt/bitnami/apps/magento/htdocs/app/etc/env.php
終端現在應該顯示 Magento 數據庫的用戶名、密碼和數據庫名稱。 您可以將這些與“mysql”命令行程序一起使用以進入您的數據庫,並根據需要替換示例數據:
mysql -u aws_username -p"aws_password" aws_dbname
現在,您可以輸入“顯示表格;” 並且 mysql 應該打印數據庫上的表列表。 輸入“退出;” 離開mysql命令行界面。
4. 複製數據
我們知道我們的數據在 AWS 上的位置,所以讓我們將其放入 Nexcess Cloud。 所有這些命令都將在 AWS 終端上運行。 替換命令中的示例數據以適合您的安裝。
首先,我們將在 Nexcess 服務器上創建一個臨時目錄:
ssh [email protected] "mkdir migration"
接下來,我們將進行數據庫轉儲並將其放入此文件夾中。 此命令通過將數據庫轉儲中的輸出直接放到目標服務器上來避免本地臨時文件。
mysqldump -u aws_username -p"aws_password" aws_dbname | ssh \ [email protected] "cat - > aws_dbname.sql"
最後,我們可以使用 rsync 將站點文件夾複製到新服務器:
rsync -avHP /opt/bitnami/apps/magento/htdocs/ \ [email protected]:~/migration/
整個文檔根目錄的完整副本現在將到達遷移文件夾下的 Nexcess 服務器上。
5. 組織文件和數據庫
現在已經創建了文檔根和數據庫副本,我們必須將它們分類到目標系統上的正確位置。 讓我們先換出文件。 將您的 SSH 連接到目標服務器,再次使用儀表板中的單行命令,但這次來自您的計算機。 我們不再需要使用 AWS 服務器。 如果您使用的是 OSX、Linux 或 Windows 10,則應該已經從您的 shell 或命令提示符安裝了 SSH 命令。
一旦我們連接到 Nexcess Cloud 環境,列出當前目錄的內容,您將看到您的數據庫 (aws_dbname.sql) 和站點文件文件夾 (migration)。
您的實時站點的文檔根目錄位於您的臨時 Nexcess 域的文件夾下。 這個域看起來像“49deab9ef.nxcli.net”。 在這種情況下,我們的文檔根目錄是 49deab9ef.nxcli.net/html/。 我們首先將這個目錄移開:
mv ~/49deab9ef.nxcli.net/html ~/49deab9ef.nxcli.net/html.bak
...然後將我們的真實文檔根移動到位:
mv ~/migration ~/49deab9ef.nxcli.net/html
最後,我們將調整文件夾的權限,以確保 Web 服務器的安全:
chmod 750 ~/49deab9ef.nxcli.net/html
現在文件已經到位,我們需要發現我們的 Nexcess 數據庫憑據。 這些存儲在舊的 CMS 配置文件中,所以我們再次使用“grep”來輸出此信息(此處顯示的是 Magento 2):
grep -e username -e password -e dbname \ ~/49deab9ef.nxcli.net/html.bak/app/etc/env.php
將所有這些信息寫在安全的地方; 我們將使用它來完成本教程的這一部分。 現在,讓我們備份這個數據庫,並用我們 AWS 服務器的數據庫轉儲替換它:
mysqldump -u nx_username -p"nx_password" \ nx_dbname > ~/49deab9ef.nxcli.net/old_database.sql mysql -u nx_username -p"nx_password" nx_dbname < ~/aws_dbname.sql
6. 配置數據庫和 URL
還有一個步驟可以將文件和數據庫連接在一起。 我們需要更改 Magento 的配置文件,以確保它使用 Nexcess 帳戶的憑據。 使用 nano 打開文件,獲取 AWS 數據庫信息的所有實例,並將其替換為 Nexcess 數據庫信息:
nano ~/49deab9ef.nxcli.net/html/app/etc/env.php
編輯完文件後,按Ctrl+X退出,編輯器會提示你保存; 按“y”將文件寫入磁盤。
除此之外,該站點需要配置為使用來自 Nexcess 的正確臨時域名,類似於“49deab9ef.nxcli.net”。 對於 Magento,這是通過從 PHPMyAdmin 編輯數據庫中的幾行來完成的。 您可以通過 Nexcess 門戶訪問 PHPMyAdmin。
一旦我們在遷移站點的 PHPMyAdmin 中,我們應該看到我們複製的 Magento 數據。 我們想要導航到 core_config_data 表,並更改 web/unsecure/base_url 和 web/secure/base_url 行以匹配我們的臨時域,根據需要不帶和帶 https。 按回車鍵保存這些更改,然後退出 PHPMyAdmin。
7. 測試你的數據
這應該結束數據的實際遷移。 我們現在只需要確保我們所做的工作有效。 這是遷移中最簡單的部分。 只需在瀏覽器中導航到臨時 Nexcess URL(例如 49deab9ef.nxcli.net)。
我們要做的第一件事是在管理面板中刷新 Magento 的緩存。 然後,像往常一樣瀏覽您的網站,並確保您的所有內容都存在並且按預期工作。
8. 上線
如果到目前為止一切順利,我們應該能夠啟動新服務器以將流量引導到 Nexcess。
在此之前,需要更新域的 DNS。 這是在您的域的當前名稱服務器上完成的。 您可以在位於您的計劃列表中的 my.nexcess.net 中找到您需要用於記錄的 IP 地址。
更改 DNS 後,可以將 Nexcess 中的主域名更改為您的真實域名。 單擊門戶中域選項選項卡中的編輯按鈕。 輸入要更改的域,然後單擊更新按鈕。 這將自動搜索和替換數據庫中舊域的實例,因此無需再次通過 PHPMyAdmin。
現在確保為該域啟用 Let's Encrypt 很重要,以便自動安裝 SSL 證書。
讓它更容易
即使可以完成,遷移站點也不是一項簡單或快速的任務。 誰有時間做這一切加上他們的日常工作? 在 Nexcess 的幫助下,把一件事情從你的盤子裡拿走。
我們熟練的技術人員將開始為您的遷移工作,並在每一步都在那裡。 憑藉輕鬆的遷移、一流的支持和最划算的託管費用 — 這不僅是一個明智的選擇,還是更好的選擇。
準備好了解為什麼 Better 是內置的嗎?
立即探索我們完全託管的託管計劃。
相關內容
- 成功網站遷移的 5 個步驟
- 雲遷移:將站點遷移到雲的分步指南
- 讓舊故事再次煥然一新:從 Magento 1 到 WooCommerce 遷移的故事
- 向雲託管服務提供商詢問的 10 大問題
- 什麼是託管主機? 這個怎麼運作