遷移

使用 工具箱 > 遷移,可以將網站、資料庫、資料庫使用者和專案遷移到 AcePanel。 遷移向導分為連線來源、選擇資源、執行遷移和檢視結果四個步驟。
開始前
備份來源伺服器和目標伺服器,確認兩端均可透過 SSH 管理,並在目標伺服器安裝所需的 Web 伺服器、資料庫引擎和執行環境。 遷移期間不要重新啟動或更新任一面板。
連線來源
首先選擇資源所在的面板。
另一臺 AcePanel 伺服器
當前正在操作的 AcePanel 是來源端,資源會從當前伺服器推送到目標 AcePanel。
填寫目標面板地址、Token ID 和訪問令牌。 令牌在目標面板的 設定 > 使用者 > 訪問令牌中建立,令牌 IP 白名單必須允許來源伺服器的出口地址。
寶塔
AcePanel 會連線寶塔並從中下載所選資源。 填寫寶塔面板地址和 API 金鑰。 連線前先啟用面板 API,並將 AcePanel 伺服器 IP 加入 API 白名單。 具體操作參閱寶塔面板 API 配置說明。
1Panel
AcePanel 會連線 1Panel 並從中下載所選資源。 填寫 1Panel 地址和 API Key,並檢查金鑰有效期和 IP 白名單。 具體操作參閱1Panel API 介面文件。
只填寫面板位址。 AcePanel 會自動辨識來源使用的是 v1 還是 v2 API;不要自行附加 /api/v1 或 /api/v2。
保護憑證
不要在對外分享的螢幕擷取畫面和診斷日誌中包含存取權杖、API Key、資料庫密碼或真實伺服器位址。 遷移完成後刪除臨時憑證。
可遷移資源
| 連線來源 | 網站 | 資料庫和使用者 | 專案 |
|---|---|---|---|
| AcePanel | 反向代理、PHP 和靜態網站,包含完整網站設定、證書和啟用狀態 | MySQL、PostgreSQL 和 ClickHouse,以及對應使用者、主機和許可權 | 通用、Go、Java、Node.js、PHP、Python 和 .NET 專案 |
| 寶塔 | 靜態、PHP 和反向代理網站,包括目錄、域名、監聽、執行目錄、Rewrite、代理、重定向、證書和啟用狀態 | 寶塔 API 能夠提供密碼的本機 MySQL、MariaDB 資料庫及使用者 | Node.js、Python、Go、.NET、Spring Boot 和其他專案 |
| 1Panel | 靜態、反向代理和 PHP Runtime 網站 | 1Panel API 能夠提供密碼的本機 MySQL、MariaDB、PostgreSQL 資料庫及使用者 | — |
下列資源需要另行遷移或重新部署:
- AcePanel 間遷移中的 Redis 和 Valkey 資料;
- 寶塔或 1Panel 中的遠端資料庫;
- 寶塔 Tomcat 專案;
- 1Panel 非 PHP Runtime 網站、應用商店網站和專案;
- 寶塔或 1Panel 中的容器和 Compose 編排。
第一步:連線
提交地址和憑據後,AcePanel 會驗證面板型別和版本,並載入資源清單。
連線失敗時,檢查面板完整地址和安全入口、網路連通性、防火牆與安全組、憑據有效期、IP 白名單以及兩臺伺服器的系統時間。
第二步:選擇資源
資源列表會顯示型別、名稱、當前狀態、預計大小、目標位置、依賴關係、警告和阻斷原因。 選擇需要遷移的資源; 專案還可以修改目標目錄和執行使用者。
必須先處理的衝突
出現下列情況時,資源不能直接匯入:
- 目標已經存在同名網站、資料庫或專案;
- 名稱為
default、phpmyadmin等保留名稱,或不符合 AcePanel 資源命名規則; - 目標網站或專案目錄非空;
- 目標沒有相容的資料庫伺服器;
- AcePanel 資料庫找不到名稱和型別相同的目標伺服器;
- 來源 PostgreSQL 主版本高於目標版本;
- 專案沒有相容執行環境或有效執行使用者。
啟用 跳過阻斷資源後,阻斷項會記為 已跳過,其餘資源繼續遷移。 該選項不會繞過底層衝突或相容限制。
相容性調整
- MariaDB 資料庫匯入 AcePanel MySQL 伺服器時,結果會帶有警告。
- 沒有安裝相同 PHP 版本時,AcePanel 會選擇最接近的已安裝版本; 完全沒有 PHP 執行環境時,會建立未啟用 PHP 的網站並給出警告。
- 專案使用者
www-data、nginx和apache會對映為www。 - 目標伺服器不會直接複用 Node.js 的
node_modules或 Python 虛擬環境,啟動服務前必須重新安裝依賴。
依賴和匯入順序
資料庫使用者先於資料庫匯入,資料庫先於專案,專案先於網站。 寶塔網站和專案使用同名數據庫時尤其需要注意, 應同時選擇有關聯的資源,並逐項處理提示。
第三步:遷移中
頁面顯示總體進度、當前資源和階段以及即時日誌。 階段分為 backup、transfer、import 和 done。 每個資源的結果為 等待中、執行中、成功、完成但有警告、失敗或已跳過。
啟用 建立備份時停止執行中的服務後,AcePanel 會在備份網站或專案時短暫停止來源資源,歸檔完成後立即恢復原狀態。 資料庫使用線上匯出,不會停庫。
離開頁面不會停止遷移, 再次進入時會恢復當前面板程序儲存的進度。 即時連線斷開後,頁面每三秒嘗試重連。
遷移沒有取消按鈕, 關閉頁面也不等於取消。 不要重啟 AcePanel:遷移狀態儲存在面板程序中,程序退出後無法恢復。 單次遷移最長執行 24 小時,超大資源應拆分為多批遷移。
傳輸方式
AcePanel 伺服器之間使用 10 MiB 分片上傳,每個分片通過雜湊校驗,並在繼續傳輸前檢查已經上傳的分片。
寶塔和 1Panel 遷移會從來源面板下載歸檔,不使用 AcePanel 之間的分片續傳流程。
每個 AcePanel 程序同一時間只能執行一個遷移任務。
第四步:完成
結果頁會按 成功、完成但有警告、失敗和已跳過分類,並顯示每個資源的耗時和詳情。 開始下一次遷移前先下載日誌。
任務結束後可以點選 開始新的遷移。 重置後會清除當前連線、資源選擇、結果和日誌。
驗證目標伺服器
完成以下檢查前,不要刪除來源資料:
- 分別通過 HTTP 和 HTTPS 開啟每個網站,檢查域名、監聽地址、重定向、Rewrite、代理目標、PHP 版本、證書和啟用狀態。
- 使用遷移後的賬號連線每個資料庫, 檢查表、資料量、字元集、許可權和應用連線配置。
- 檢查專案重寫後的目錄、命令、環境變數、執行使用者和服務狀態,並按需要重新安裝 Node.js 或 Python 依賴。
- 閱讀每一條警告並下載遷移日誌。
- 修改 DNS 或引入生產流量前,執行應用層測試。
資源傳輸成功但匯入失敗時,檢查磁碟空間、目錄所有權、資料庫伺服器名稱和版本、已安裝執行環境以及即時日誌中該資源的錯誤。
