版本升级
当前 v23.10 仅支持从 v22.10 升级,如需要从其他版本升级,请先升级到 v22.07 再升级到 v22.10
确认服务器满足升级要求
请浏览 部署前置准备
关闭原服务
在执行升级前,请先关闭原服务,避免造成数据备份时导致数据不一致
在所有节点中执行以下命令
cd /data/tencent-survey-v22.10-amd64
# 关闭应用服务
docker-compose -f docker-compose.yaml down
# 关闭存储服务(如有)
docker-compose -f docker-compose-paas.yaml down
备份
在执行升级前,请对数据库、附件与日志等文件进行备份
备份数据库
mysqldump -h数据库地址 -u用户名 -p -all-databases > tencentsurvey-mysql-backup.sql
备份文件
在所有节点上执行以下命令
cp -r /data/tencent-survey-v22.10-amd64/var /data/tencentsurvey-var-backup
验证备份文件
在正式执行升级前,请验证备份文件是否完整,是否可用于恢复
执行升级
分发安装包
确保所有节点安装目录均有 /data/tencent-survey-v23.10-amd64
以下所有操作,如无说明,操作目录均为以上指定的安装目录
编辑系统配置
根据 使用 Docker-Compose 安装 中安装,数据库配置等内容需要从原 .env 文件中复制保证一致
MYSQL_SERVER
MYSQL_PORT
MYSQL_USERNAME
MYSQL_ROOT_PASSWORD
REDIS_SERVER
REDIS_PORT
REDIS_PASSWORD
ES_SERVER
ES_PASSWORD
APP_KEY
SECRET_TOKEN_BASE
LICENSE
LICENSE_KEY
MAIN_ADAPTER
MAIN_HOST
MAIN_DATABASE
MAIN_USERNAME
MAIN_PASSWORD
SHARD_USERNAME
SHARD_PASSWORD
ES68_HOST
ES68_USERNAME
ES68_PASSWORD
LOG_ES_HOST
NGINX_ES_HOST
REDIS_HOST
REDIS_PORT
REDIS_PASSWORD
REDIS_DB_INDEX
QUEUE_REDIS_HOST
QUEUE_REDIS_PORT
QUEUE_REDIS_PASSWORD
QUEUE_REDIS_DB_INDEX
QUEUE_REDIS5_HOST
QUEUE_REDIS5_PORT
QUEUE_REDIS5_PASSWORD
QUEUE_REDIS5_DB_INDEX
COOP_REDIS_HOST
COOP_REDIS_PORT
COOP_REDIS_PASSWORD
COOP_REDIS_DB_INDEX
等其它更多个性化配置
编辑 Nginx 配置
修改根目录的 etc/nginx/servers/gateway.conf 文件,以下内容从原配置中拷贝
listen
server_name
ssl_dhparam
ssl_certificate
ssl_certificate_key
ssl_protocols
ssl_ciphers
ssl_prefer_server_ciphers
如果指定了 SSL 证书,需要将证书拷贝到 etc/nginx/servers 目录下
如果原服务中使用了自定义的 Nginx 配置,需要将自定义部分拷贝到新配置中
拷贝附件与日志文件到新版本安装目录
假设 /data/tencent-survey-v22.10-amd64 为原安装目录,/data/tencent-survey-v23.10-amd64 为新安装目录
rsync -av /data/tencent-survey-v22.10-amd64/var ~/data/tencent-survey-v23.10-amd64/
rsync -av /data/tencent-survey-v22.10-amd64/var/shared/backend-go/ /data/tencent-survey-v23.10-amd64/var/shared/server-file/
rsync -av /data/tencent-survey-v22.10-amd64/var/shared/backend-php-7/ /data/tencent-survey-v23.10-amd64/var/shared/server-file/
启动服务
在所有节点安装目录中执行以下命令
导入 Docker 镜像
docker load < docker-images.tar
启动服务
# 开启应用服务
docker compose -f docker-compose-paas.yaml up
# 开启存储服务(如有)
docker-compose -f docker-compose-paas.yaml down
数据升级
模版:
docker exec -it server sh -c \
'/data/tencentsurvey/tencentsurvey -c /data/tencentsurvey/.env tool upgrade -t=templates -v=2309'
皮肤:(如需要)
docker exec -it server sh -c \
'/data/tencentsurvey/tencentsurvey -c /data/tencentsurvey/.env tool upgrade -t=skins -v=2309'
数据合表(如需要)
docker exec -it server sh -c \
'/data/tencentsurvey/tencentsurvey -c /data/tencentsurvey/.env tool merge_answer_shard -a=exec'