# 构架及搭建
# 后端技术栈
# 清单
编号 | 名称 | 版本 | 说明 |
---|---|---|---|
1 | Postgresql (opens new window) | 13.4 | |
2 | Spring boot (opens new window) | 2.6.2 | |
3 | Redis (opens new window)(中文 (opens new window)) | 6.0.4 |
# 环境搭建
# Docker 环境
在 Centos 环境中搭建服务环境,由于 Centos 终止服务,使用 Centos 的派生版本 AlmaLinux (opens new window),使用的技术栈与 Centos 相同。
# 更新源为阿里
sed -e 's|^mirrorlist=|#mirrorlist=|g' \
-e 's|^# baseurl=https://repo.almalinux.org|baseurl=https://mirrors.aliyun.com|g' \
-i.bak \
/etc/yum.repos.d/almalinux*.repo
# 安装 阿里 epel
yum install -y https://mirrors.aliyun.com/epel/epel-release-latest-8.noarch.rpm
sed -i 's|^#baseurl=https://download.example/pub|baseurl=https://mirrors.aliyun.com|' /etc/yum.repos.d/epel*
sed -i 's|^metalink|#metalink|' /etc/yum.repos.d/epel*
# Step 2: 添加 Docker 软件源信息
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
sed -i 's+download.docker.com+mirrors.aliyun.com/docker-ce+' /etc/yum.repos.d/docker-ce.repo
# 更新系统
sudo dnf update
# 安装 docker 依赖
dnf install -y yum-utils device-mapper-persistent-data lvssm2
# podman 与Docker 存在依赖冲突
sudo dnf remove podman buildah
yum makecache
yum -y install docker-ce
# 国内镜像
mkdir -p /etc/docker/
cat <<EOF >>.json
{
"registry-mirrors": [
"https://cr.console.aliyun.com/",
"http://registry.docker-cn.com",
"http://docker.mirrors.ustc.edu.cn",
"http://hub-mirror.c.163.com",
"http://ovfftd6p.mirror.aliyuncs.com"
],
"insecure-registries": [
"registry.docker-cn.com",
"docker.mirrors.ustc.edu.cn",
"192.168.0.6:8000"
],
"debug": true,
"experimental": true
}
EOF
# 启动Docker
systemctl start docker
systemctl enable docker
## 建立独立的网段
docker network create --subnet=172.16.0.0/16 docker-network
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
# Postgresql 安装
# 建立Postgresql容器
docker run --name postgres-server \
-p 5432:5432 \
--net docker-network --ip 172.16.0.2 \
--restart=always \
-v /data/docker/postgresql/data:/var/lib/postgresql/data:rw \
-v /data/docker/postgresql/spring:/var/lib/postgresql/spring:rw \
-e ALLOW_IP_RANGE="0.0.0.0/0" \
-e POSTGRES_PASSWORD=abc123 \
-e TZ=Asia/Shanghai \
-d postgres
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
# 建立数据库
docker exec -i postgres-server bash <<UOF
su - postgres <<EOF
psql <<XOF
DROP DATABASE if exists "spring-dev";
DROP TABLESPACE if exists "space_spring_dev";
DROP USER if exists "spring-dev";
CREATE USER "spring-dev" with encrypted password 'spring-dev@123';
CREATE TABLESPACE "space_spring_dev" owner "spring-dev" LOCATION '/var/lib/postgresql/spring';
CREATE DATABASE "spring-dev"
with owner "spring-dev"
ENCODING='UTF8'
TABLESPACE='space_spring_dev';
GRANT ALL ON DATABASE "spring-dev" to "spring-dev" WITH GRANT OPTION;
GRANT ALL ON TABLESPACE "space_spring_dev" to "spring-dev";
XOF
EOF
UOF
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# 查看Postgresql版本
select version();
1
# Redis 安装
# 建立Redis容器
docker run --name="redis-server" \
-p 6379:6379 \
--net docker-network --ip 172.16.0.3 \
--restart=always \
-v /data/docker/redis-data:/data:rw \
--privileged=true \
-d redis
1
2
3
4
5
6
7
2
3
4
5
6
7
# 查看Redis版本
docker exec -i redis-server redis-server -v
1
后端项目搭建 →