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

本文章首发在 LearnKu.com 网站上。

上一篇 下一篇
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
讨论数量: 0
发起讨论 只看当前版本


暂无话题~