部署前置准备
开始安装前,请提前准备以下内容,缺一不可:
- CentOS 7.x 服务器
- 系统内核建议 >= 4.x, 5.x 以获得更好的性能, 查看内核版本
- 查看内核版本
uname -a
- 腾讯问卷私有化部署安装包,联系腾讯问卷团队提供
- 腾讯问卷私有化部署 License,联系腾讯问卷团队提供
系统初始化
SELinux Off
查看当前 SELinux 状态 getenforce,修改 etc/selinux/config 为对应内容为 SELINUX=disabled
系统调参
# Elasticsearch 部署时需要, 其它可跳过
grep -q "vm.max_map_count=300000" /etc/sysctl.conf || echo "vm.max_map_count=300000" >> /etc/sysctl.conf
# 优先使用 ram
grep -q "vm.swappiness=1" /etc/sysctl.conf || echo "vm.swappiness=1" >> /etc/sysctl.conf
# reload
sysctl -p
其它
# 容器化需要, 如果有就装
yum install -y libseccomp-devel
# 系统调参 TODO - 部分参考 init-system-job.yml
# 系统时钟同步 TODO
# 检查 TODO
安装 Docker
浏览 Docker 官方文档 https://docs.docker.com/engine/install/ ,根据实际情况安装 Docker 与 docker-compose-plugin
具体支持的 Docker 版本请浏览 支持的平台
# 推荐使用 Tencent Docker CE 源
yum-config-manager --add-repo https://mirrors.tencent.com/docker-ce/linux/centos/docker-ce.repo
sed -i 's#download.docker.com#mirrors.tencent.com/docker-ce#' /etc/yum.repos.d/docker-ce.repo
# 安装 Docker CE
yum makecache
yum install -y docker-ce
# 开机自动启动
systemctl enable docker
# 启动
systemctl start docker
# 查看状态
systemctl status docker
确认 Docker 安装成功
执行 docker version,正常情况下会有如下输出:
Client: Docker Engine - Community
Version: 23.0.1
API version: 1.42
Go version: go1.19.5
Git commit: a5ee5b1
Built: Thu Feb 9 19:49:07 2023
OS/Arch: linux/amd64
Context: default
Server: Docker Engine - Community
Engine:
Version: 23.0.4
API version: 1.42 (minimum version 1.12)
Go version: go1.19.8
Git commit: cbce331
Built: Fri Apr 14 10:32:03 2023
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: 1.6.16
GitCommit: 31aa4358a36870b21a992d3ad2bef29e1d693bec
runc:
Version: 1.1.4
GitCommit: v1.1.4-0-g5fd4c4d
docker-init:
Version: 0.19.0
GitCommit: de40ad0
确认 docker-compose-plugin 安装成功
执行 docker compose version ,正常情况下会有如下输出:
Docker Compose version v2.16.0
caution
注意: 不是 docker-compose version,而是 docker compose version
获取安装包
腾讯问卷安装包,联系腾讯问卷团队提供
解压安装包
将安装包放置 /data/ 目录,执行以下命令进行解压(注意文件名需要修改为实际文件名)
/data 目录不是必须的,可以根据实际情况修改,但需要注意后续的操作需要切换到安装包根目录
tar xf tencent-survey-v23.10-amd64.tar.gz
切换工作目录
如无额外说明,所有操作均需要切换工作目录为安装包根目录,实际目录根据实际情况修改
cd /data/tencent-survey-v23.10-amd64
# 正常情况下会有如下输出:
# -rwxr-xr-x 1 root root 730 Sep 11 17:06 app.sh
# drwxr-xr-x 2 root root 4096 Sep 11 17:06 check
# drwxr-xr-x 2 root root 4096 Sep 11 17:06 crontab
# -rw-r--r-- 1 root root 851 Sep 11 17:06 docker-compose-certsgen.yaml
# -rw-r--r-- 1 root root 732 Sep 20 17:22 docker-compose-dev.yaml
# -rw-r--r-- 1 root root 5317 Sep 21 10:52 docker-compose-paas.yaml
# -rw-r--r-- 1 root root 4347 Sep 21 17:25 docker-compose.yaml
# -rw-r--r-- 1 root root 5263272448 Sep 11 17:07 docker-images.tar
# drwxr-xr-x 10 root root 4096 Sep 20 17:23 etc
# -rwxr-xr-x 1 root root 1806 Sep 11 17:52 install.sh
# -rw-r--r-- 1 root root 0 Sep 11 17:06 LICENSE.txt
# -rwxr-xr-x 1 root root 765 Sep 11 17:06 paas.sh
# -rw-r--r-- 1 root root 169 Sep 11 17:06 README.md
# drwxrwxrwx 5 root root 4096 Sep 12 10:26 var
# -rw-r--r-- 1 root root 13 Sep 11 17:06 VERSION
导入 Docker 镜像
安装包解压后,内含用于导入的 Docker Image,执行以下命令导入镜像:
docker load < docker-images.tar
导入完成后,使用以下命令检测是否导入成功
docker images
# REPOSITORY TAG IMAGE ID CREATED SIZE
# cdchub.tencentcloudcr.com/ur-selfhosted/frontend v23.10-amd64 ef0c68c41eaf 4 days ago 232MB
# cdchub.tencentcloudcr.com/ur-selfhosted/server v23.10-amd64-lic 6c87730c7d3a 4 days ago 602MB
# cdchub.tencentcloudcr.com/ur-selfhosted/server-legacy v23.10-amd64-lic 3127966b3246 4 days ago 1.2GB
# cdchub.tencentcloudcr.com/public/elasticsearch-kona 6.8.23-ik-amd64 2f8ce500755b 5 months ago 1.08GB
# cdchub.tencentcloudcr.com/public/mysql 8.0-oracle-amd64 2a04bf34fdf0 10 months ago 535MB
# cdchub.tencentcloudcr.com/public/redis 6-amd64 4608773ab2db 11 months ago 113MB
导入成功后即可进入下一步骤