2.6. 系统升级说明
系统升级说明
升级需要执行以下基本步骤,请确保每个步骤正确。
说明:升级前请全量备份网站数据库和代码,避免升级操作有误造成系统不能正常运行。
系统自动升级
从 v1.5.0
开始,系统提供自动升级功能。当有新版本出现时,在后台可以通过自动升级操作一键升级。
在自动升级前请备份好旧的系统数据,避免升级失败造成的数据丢失等情况。
系统手动升级
1 旧的系统备份
假如旧系统的部署目录为 /xxx/test.com
,
请重新命名为 /xxx/test.com.bk
Linux参考命令
mv /xxx/test.com /xxx/test.com.bk
Windows参考操作
复制文件 X:\xxx\test.com 到 X:\xxx\test.com.bk
2 解压最新的代码
解压最新的代码到 /xxx/test.com
Linux参考命令
mkdir -p /xxx/test.com
cp xxx.zip /xxx/test.com
cd /xxx/test.com
unzip xxx.zip
Windows参考操作
创建文件夹 X:\xxx\test.com
解压安装包 xxx.zip 到 X:\xxx\test.com
3 迁移自安装模块
如果您的系统不是行业定制版,可能有些模块是您自行安装的,这时需要将 module/
目录中的自安装模块复制到升级后的系统中。
Linux参考命令
cp -av /xxx/test.com.bk/module/xxx /xxx/test.com/module
Windows参考操作
复制自行安装的模块 X:\xxx\test.com.bk\module\xxx 到 X:\xxx\test.com\module
4 复制配置文件
从老的项目代码中复制以下配置文件到新的代码中。
- 配置文件:
.env
- 上传文件:
public/data
Linux参考命令
cp -av /xxx/test.com.bk/.env /xxx/test.com/
cp -av /xxx/test.com.bk/public/data /xxx/test.com/public/
Windows参考操作
复制配置文件 X:\xxx\test.com.bk\.env 到 X:\xxx\test.com
复制数据文件 X:\xxx\test.com.bk\public\data 到 X:\xxx\test.com\public
5 升级数据库
说明:系统的升级会伴随着数据库字段和系统配置的升级,系统的版本发布都会包含历史系统的所有操作,执行该步骤可以升级系统数据库字段、操作等
Linux参考命令
php /xxx/test.com/artisan migrate
php /xxx/test.com/artisan modstart:module-install-all
Windows参考操作
打开CMD命令窗口
运行命令 php.exe X:\xxx\test.com\artisan migrate
运行命令 php.exe X:\xxx\test.com\artisan modstart:module-install-all
6 清除缓存并完成升级
- 如果您启用了
Redis
等外部缓存依赖,请清除缓存后再重新访问系统。 - 如果您使用的是系统自带的文件缓存,直接访问新系统。
从git仓库同步
开源用户请忽略此部分内容
对于部分商业用户,我们提供了专属的git仓库地址用于前期项目的同步开发和测试。
切换使用git仓库为部署源
Linux参考命令
# 切换到PHP的运行用户,通常为 www
su www
# 进入到系统目录中
cd /www/wwwroot/www.example.com
# 进入到上一级目录
cd ..
# 备份源系统为
mv www.example.com www.example.com.old
# clone最新的git仓库
git clone https://xxx.xxx.com/git/xxx.git www.example.com
# 进入到新系统目录
cd www.example.com
# 复制老的系统文件到新系统中
cp ../www.example.com.old/.env .
cp -a ../www.example.com.old/public/data/* public/data/
# 新增加安装锁定文件
touch storage/install.lock
# 执行系统迁移命令
php artisan migrate
# 执行模块迁移命令
php artisan modstart:module-install-all
Windows参考操作
# 右击打开 git bash
# 切换到PHP的运行用户,通常为 www
su www
# 进入到系统目录中
cd /x/wwwroot/www.example.com
# 进入到上一级目录
cd ..
# 备份源系统为
mv www.example.com www.example.com.old
# clone最新的git仓库
git clone https://xxx.xxx.com/git/xxx.git www.example.com
# 进入到新系统目录
cd www.example.com
# 复制老的系统文件到新系统中
cp ../www.example.com.old/.env .
cp -a ../www.example.com.old/public/data/* public/data/
# 新增加安装锁定文件
touch storage/install.lock
# 执行系统迁移命令
php artisan migrate
# 执行模块迁移命令
php artisan modstart:module-install-all
git仓库代码实时同步
Linux参考命令
# 切换到PHP的运行用户,通常为 www
su www
# 进入到系统目录中
cd /www/wwwroot/www.example.com
# 拉取最新代码
git pull origin master
# 执行系统迁移命令
php artisan migrate
# 执行模块迁移命令
php artisan modstart:module-install-all
Window参考操作
# 右击打开 git bash
# 进入到网站目录
cd /x/wwwroot/www.example.com
# 拉取最新代码
git pull origin master
# 执行系统迁移命令
php artisan migrate
# 执行模块迁移命令
php artisan modstart:module-install-all
常见问题
系统升级未完全如何手动补救
部分系统升级时调用升级命令失败,可通过手动执行以下命令继续完成
Linux参考命令
## 进入网站根目录
cd /wwwroot/xxx.com
## 执行系统迁移命令
php artisan migrate
## 执行模块迁移命令
php artisan modstart:module-install-all
Windows参考操作
打开CMD命令窗口
运行命令 cd X:\wwwroot\xxx.com
运行命令 php.exe X:\wwwroot\xxx.com\artisan migrate
运行命令 php.exe X:\wwwroot\xxx.com\artisan modstart:module-install-all
推荐文章: