外观
3.2 传输与新环境部署
约 471 字
迁移回滚
本页对应「三、操作步骤」的 3.2,完成传输与新环境部署。返回上级:站点迁移操作说明。
前置条件
- 3.1 已完成,校验清单验证通过。
- 新机已完成初始化,安装同版本 Nginx、数据库与运行时。
- 两机之间 SSH 可达,新机磁盘余量充足。
操作步骤
- 用 rsync 传输备份文件,支持断点续传并显示进度。
rsync -avz --progress -e 'ssh -p 22' \
/srv/axis/backup/axis-db-202606080900.sql.gz \
/srv/axis/backup/axis-files-202606080900.tar.gz \
/srv/axis/backup/manifest-202606080900.sha256 \
deploy@203.0.113.10:/srv/axis/backup/- 在新机重新校验,确认传输未损坏。
cd /srv/axis/backup
sha256sum -c manifest-202606080900.sha256- 解包到目标目录并修正属主与权限。
sudo tar -xpzf /srv/axis/backup/axis-files-202606080900.tar.gz -C /srv/axis
sudo chown -R deploy:www-data /srv/axis/www /srv/axis/scripts
sudo find /srv/axis/www -type d -exec chmod 755 {} \;- 导入数据库并核对行数。
gunzip -c /srv/axis/backup/axis-db-202606080900.sql.gz | mysql -u root -p axis
mysql -u root -p -N -e "SELECT COUNT(*) FROM axis.articles;"
mysql -u root -p -e "SHOW TABLES;" | wc -l- 部署 Nginx 配置并启动服务,先只在本机验证。
sudo cp /srv/axis/backup/nginx-example.conf /etc/nginx/sites-available/example.com.conf
sudo ln -sfn /etc/nginx/sites-available/example.com.conf /etc/nginx/sites-enabled/example.com.conf
sudo nginx -t && sudo systemctl reload nginx
sudo systemctl enable --now axis-api结果确认
- 新机
sha256sum -c全部 OK,与源端结果一致。 - 数据库关键表行数与源端一致,表数量相同。
curl -sSI -H 'Host: example.com' http://203.0.113.10/返回 200。- 应用日志无数据库连接错误,
systemctl is-active axis-api为 active。
注意事项
- 传输前确认新机磁盘余量,避免传到一半写满导致文件截断。
- 配置中的数据库地址、路径与域名需按新环境替换,不要沿用旧机内网 IP。
- 新机验证完成前不要切换解析,避免用户访问到未就绪的环境。
- 解包必须带
-p保留权限,否则脚本可能失去执行位。