FastAdmin系統框架通用操作平滑遷移到新服務器的詳細步驟-優雅草卓伊凡
我們蜻蜓hr系統采用的后端框架就是fastadmin,因此我們平穩遷移以此為例,為什么要遷移一份是因為有甲方需要。
遷移FastAdmin系統到新服務器需要確保數據完整性和系統功能正常。以下是完整的遷移流程:
一、遷移前準備工作
1. 原服務器備份
數據庫備份:
# 進入MySQL命令行
mysqldump -u用戶名 -p 數據庫名 > fastadmin_backup.sql
# 輸入密碼后會將數據庫導出到當前目錄的fastadmin_backup.sql文件
手動備份了一份
文件備份:
# 打包整個FastAdmin項目目錄(排除不必要的緩存文件)
tar -czvf fastadmin_backup.tar.gz --exclude=runtime/* /path/to/fastadmin
2. 新服務器環境準備
- 確保新服務器滿足FastAdmin運行要求:
- PHP 7.1+(建議7.3+)
- MySQL 5.5+
- 安裝必要的PHP擴展(pdo_mysql, mbstring, gd, curl等)
- 在寶塔面板中:
- 創建新網站
- 創建MySQL數據庫(記下數據庫名、用戶名和密碼)
- 配置PHP版本(與舊服務器一致或更高)
- 設置偽靜態(選擇ThinkPHP規則)
二、遷移步驟
1. 文件遷移
方法一:直接上傳壓縮包
- 將原服務器的
fastadmin_backup.tar.gz
上傳到新服務器 - 解壓到網站根目錄:
tar -xzvf fastadmin_backup.tar.gz -C /www/wwwroot/新網站目錄/
新解析了域名,新建一個目錄,新建了一個服務
整體復制粘貼解壓,
方法二:使用rsync同步(適合服務器間直接傳輸)
rsync -avz -e ssh /path/to/fastadmin 新服務器IP:/www/wwwroot/新網站目錄/
2. 數據庫遷移
- 將
fastadmin_backup.sql
上傳到新服務器 - 導入數據庫:
mysql -u新數據庫用戶名 -p 新數據庫名 < fastadmin_backup.sql
這里其實我們用寶塔就沒那么復雜
3. 配置文件調整
- 修改
.env
文件:
cd /www/wwwroot/新網站目錄/
cp .env.example .env
nano .env
更新以下配置:
APP_DEBUG = false
[DATABASE]
TYPE = mysql
HOSTNAME = 新數據庫地址(通常為127.0.0.1)
DATABASE = 新數據庫名
USERNAME = 新數據庫用戶名
PASSWORD = 新數據庫密碼
HOSTPORT = 3306
- 修改
config/database.php
(如果存在):
'hostname' => '新數據庫地址',
'database' => '新數據庫名',
'username' => '新數據庫用戶名',
'password' => '新數據庫密碼',
因為我們是遷移的,而且并且我們的情況就是 2情況
我在想版本是不是太老了
4. 目錄權限設置
chmod -R 755 /www/wwwroot/新網站目錄/runtime/
chmod -R 755 /www/wwwroot/新網站目錄/public/uploads/
直接復制的沒有太大問題
三、遷移后檢查與測試
1. 基礎檢查
- 檢查文件完整性:
ls -l /www/wwwroot/新網站目錄/
# 確保關鍵目錄存在:application, public, runtime, config等
- 檢查數據庫連接:
php think version
# 能正常顯示版本號說明數據庫連接正常
2. 功能測試
- 訪問前臺頁面:
http://新域名/
- 訪問后臺頁面:
http://新域名/admin
- 使用原管理員賬號登錄測試
- 測試關鍵功能:
- 內容管理(CRUD操作)
- 文件上傳功能
- 插件功能(如果有安裝插件)
3. 緩存清理
# 清除緩存
php think clear
# 或手動刪除
rm -rf runtime/cache/*
rm -rf runtime/temp/*
這一步是必須的,我手動刪的
最終完成,必須先早點睡覺了
四、常見問題解決
1. 頁面顯示404錯誤
- 檢查寶塔面板偽靜態設置是否正確(ThinkPHP規則)
- 檢查
.htaccess
或nginx.conf
配置
2. 數據庫連接失敗
- 檢查
.env
文件中的數據庫配置 - 確認數據庫用戶有遠程連接權限(如果是遠程數據庫)
- 測試數據庫連接:
mysql -u用戶名 -p -h 主機名 數據庫名
3. 文件權限問題
- 確保運行PHP的用戶(通常是www)對項目目錄有讀寫權限
chown -R www:www /www/wwwroot/新網站目錄/
4. 插件不工作
- 重新安裝或更新插件
- 檢查插件目錄權限
- 查看
runtime/log
中的錯誤日志
五、最終優化
- 禁用安裝入口:
mv install.php install.php.bak
- 更新配置:
- 檢查
config/app.php
中的域名配置 - 更新CDN、第三方API等配置
- 設置定時任務(如果有):
- 將原服務器的定時任務遷移到新服務器
- 監控設置:
- 設置新服務器的錯誤日志監控
- 配置性能監控
六、回滾方案
如果遷移出現問題,可以按照以下步驟回滾:
- 備份新服務器上的失敗版本
- 恢復原服務器的備份文件
- 重新檢查遷移步驟
可以完整、平滑地將FastAdmin系統遷移到新的服務器和寶塔面板環境中,確保數據不丟失、功能正常運行。