搬站流程
old 代表舊服務(wù)器劳吠;new 代表新服務(wù)器;我這里用的是寶塔的站點搬運操作
首先確保域名完全配置到新服務(wù)器中裆装,如果怕有遺漏牌芋,可直接查看舊服務(wù)器中
/www/server/panel/vhost/nginx/ 里面的站點,一一配置新站
1.在新服務(wù)器搭建好站點,配置正式域名,加臨時域名 `tmp`
2.使用原站的數(shù)據(jù)庫導(dǎo)入新站,嘗試運行新站是否完整運行
3.關(guān)閉舊站點的計劃任務(wù)谬运。
如果數(shù)據(jù)庫有配置字段,比如手動還是自動带膜,最好改成手動模式
4.關(guān)閉舊站點
5.導(dǎo)出原服務(wù)器數(shù)據(jù)庫吩谦,弄到新服務(wù)器
6.將 dns 解析到新服務(wù)器。訪問 new 域名是否正常膝藕,正常則表明dns解析正常
7.此時可刪除舊站點式廷。但為了怕出遺漏,最好先保留芭挽,但最好將入口文件 `index.php` 文件直接 die;
因為怕有終端或者其他計劃任務(wù)遺漏滑废,導(dǎo)致重復(fù)執(zhí)行數(shù)據(jù)
8.在新站開啟計劃任務(wù)
1.在new 服務(wù)器上建立好站點和項目
1.建立站點
可將 old 中的nginx站點拷貝下來,根據(jù)站點袜爪,一個個搭建到 new 服務(wù)器中蠕趁,這樣不會出現(xiàn)遺漏現(xiàn)象
scp -r(代表整個文件夾下載下來) -p 代表 ssh 端口
scp -r -P 22 root@1.1.1.1:/www/server/panel/vhost/nginx/ ./
根據(jù)配置文件中的 server_name 和 root(站點目錄) 去配置 new 環(huán)境
nginx/redirect 是重定向域名操作,可能也需要處理
2. 檢查有沒有https需要配置 處理https證書
scp -r -P 22 root@1.1.1.1:/www/server/panel/vhost/cert/ ./
2. 關(guān)閉 old 服務(wù)器的定時任務(wù)
關(guān)閉 supervisor 和 'crontab -e -u www' 和 'crontab -e ' 的定時任務(wù)
supervisor 文件夾
cd /www/server/panel/plugin/supervisor/profile/
逐個刪除相關(guān)進程,eg:'rm -rf job.ini'
查看是否關(guān)閉成功
ps -ef |grep 'php artisan'
你開啟進程的指令是什么,grep 后邊就使用什么辛馆。
3.停止舊站點的服務(wù)運行俺陋。關(guān)閉站點
在寶塔關(guān)閉此項目的站點豁延,停止運行
但是關(guān)閉站點后,終端項目我不知道是否在還運行
所以可以執(zhí)行 'php artisan down' 關(guān)閉項目腊状。我的是 laravel項目诱咏,所以是這個指令。
也可以直接在入口文件 index.php 中缴挖,直接 'echo 1;die;'
最好關(guān)閉站點1分鐘后袋狞,在開始導(dǎo)數(shù)據(jù),以免有定時任務(wù)之類的處理以后
4.導(dǎo)出數(shù)據(jù)庫
在導(dǎo)出數(shù)據(jù)前映屋,如果代碼中有關(guān)閉程序運行的設(shè)置苟鸯,最好設(shè)置成關(guān)閉。這樣不至于忘記哪個配置棚点,引起重復(fù)處理數(shù)據(jù)
1. 創(chuàng)建文件(如果不創(chuàng)建早处,則執(zhí)行mysqldump會提示文件不存在,無法寫入)
touch /tmp/test_table.sql
2. 執(zhí)行導(dǎo)出數(shù)據(jù)庫 test_tname=用戶名乙濒;test_pass=密碼陕赃;test_table=數(shù)據(jù)庫名字
mysqldump -u test_tname -p test_table > /tmp/test_table.sql
這時候會提示輸入密碼 卵蛉,輸入你自己的密碼即可
3.將數(shù)據(jù)庫傳遞到本地
scp -P 22 root@1.1.1.1:/tmp/test_table.sql ./
此時颁股,舊服務(wù)器的東西算是處理完畢,下面要開始處理新服務(wù)器的東西傻丝。
5.搭建新的服務(wù)器站點
這一步其實就是第一步甘有,此處再重復(fù)敘述下
1.上傳項目
2.配置環(huán)境
3.配置域名和重定向
4.配置https
5.添加數(shù)據(jù)庫數(shù)據(jù)
6.開啟定時任務(wù)(必須確保舊站的定時任務(wù)關(guān)閉)
eg:
*/5 * * * * systemctl restart supervisord >> /www/server/cron/supervisord.log 2>&1
* * * * * php /www/wwwroot/admin/test/artisan schedule:run >> /dev/null 2>&1
6.將dns的配置服務(wù)器ip,改成新服務(wù)器ip
為了保險期間葡缰,你可以提前綁定個新域名 test.xxx.com 測試下新服務(wù)器的環(huán)境是否搭建成功