Skip to main content
Version: v23.10

版本升级

当前 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_SERVERMYSQL_PORTMYSQL_USERNAMEMYSQL_ROOT_PASSWORD
REDIS_SERVERREDIS_PORTREDIS_PASSWORD
ES_SERVERES_PASSWORD
APP_KEYSECRET_TOKEN_BASE
LICENSELICENSE_KEY
MAIN_ADAPTERMAIN_HOSTMAIN_DATABASEMAIN_USERNAMEMAIN_PASSWORD
SHARD_USERNAMESHARD_PASSWORD
ES68_HOSTES68_USERNAMEES68_PASSWORD
LOG_ES_HOSTNGINX_ES_HOST
REDIS_HOSTREDIS_PORTREDIS_PASSWORDREDIS_DB_INDEX
QUEUE_REDIS_HOSTQUEUE_REDIS_PORTQUEUE_REDIS_PASSWORDQUEUE_REDIS_DB_INDEX
QUEUE_REDIS5_HOSTQUEUE_REDIS5_PORTQUEUE_REDIS5_PASSWORDQUEUE_REDIS5_DB_INDEX
COOP_REDIS_HOSTCOOP_REDIS_PORTCOOP_REDIS_PASSWORDCOOP_REDIS_DB_INDEX
等其它更多个性化配置

编辑 Nginx 配置#

修改根目录的 etc/nginx/servers/gateway.conf 文件,以下内容从原配置中拷贝

listenserver_namessl_dhparamssl_certificatessl_certificate_keyssl_protocolsssl_ciphersssl_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'