版本升级、回滚与备份
用 releases/current 结构安全升级,先备份数据库再切换版本。
DJM CMS 的发布目录采用 releases/<版本> 加 current 软链接的结构。升级时新增一个版本目录,验证通过后再切换软链接,回滚只需要把链接切回去。
1. 升级前备份
- 数据库:使用 CMS 后台备份、云数据库快照或
mysqldump。 - 文件:至少备份
shared/configs、shared/storage、shared/themes、shared/plugins。 - 记录当前版本:
./current/bin/cms version。
2. 下载并解压新版本
cd /tmp
curl -fSL -o update.zip \
"https://cloud.duojumi.com/api/public/v1/cms/releases/1.0.153/download?channel=stable&os=linux&arch=amd64"
unzip -q update.zip -d update
mv update/releases/1.0.153 /www/wwwroot/cms.example.com/releases/
3. 切换版本
cd /www/wwwroot/cms.example.com
ln -sfn releases/1.0.153 current
chown -R www:www releases/1.0.153
source shared/configs/runtime.env
./current/bin/cms doctor
doctor 会检查数据库连接、迁移、主题与目录结构。确认无问题后,在宝塔 Go 项目里重启服务。
4. 验证
curl -fsS http://127.0.0.1:23280/health/ready
curl -fsS https://cms.example.com/ | head -5
再走一遍登录后台、打开列表与详情、保存一篇内容,确认写入链路正常。
5. 回滚
cd /www/wwwroot/cms.example.com
ln -sfn releases/1.0.118 current
# 在宝塔 Go 项目里重启服务
./current/bin/cms version
如果新版本已经执行了不可逆迁移,回滚前需要先恢复对应数据库备份。生产环境升级前建议在预发站点完整验证主题、插件和自定义模板。
讨论
发表评论