2、环境准备:Ubuntu Server 22.04 LTS安装与配置、Docker与Docker Compose安装、PostgreSQL数据库安装、Redis缓存安装
好,咱们正式开始动手了。
这一章,说白了就是搭地基。地基不稳,后面全白干。我见过太多新手一上来就急着写代码,结果环境配了三天,最后发现是系统版本不对——嗯,这种坑我踩过不止一次。
咱们的目标很明确:一台干净的 Ubuntu Server 22.04,装上 Docker、PostgreSQL 和 Redis。所有组件都用 Docker 跑,方便管理,也方便以后迁移。
2.1 为什么选 Ubuntu Server 22.04 LTS?
我个人习惯用 LTS 版本。22.04 支持到 2027 年,足够咱们的课程周期了。你想想看,如果选个非 LTS 版本,半年后系统提示你升级,那多闹心。
另外,ThingsBoard 官方文档里推荐的也是 Ubuntu 20.04/22.04。跟着官方走,少踩坑。
2.2 安装 Ubuntu Server 22.04
这一步其实不难,但有几个细节要注意。
2.2.1 下载与制作启动盘
- 去 Ubuntu 官网下载
ubuntu-22.04.3-live-server-amd64.iso - 用 Rufus(Windows)或 balenaEtcher(Mac/Linux)写入 U 盘
- 注意:选「写入为镜像」模式,别选「FAT32 格式化」
2.2.2 安装过程中的关键选项
| 步骤 | 建议配置 | 说明 |
|---|---|---|
| 语言 | English | 中文终端有时会乱码,我吃过亏 |
| 键盘布局 | English (US) | 除非你习惯其他布局 |
| 网络配置 | 静态 IP 或 DHCP | 生产环境建议静态 IP |
| 磁盘分区 | Use Entire Disk + LVM | 方便以后扩容 |
| SSH 服务 | 勾选 Install OpenSSH server | 远程管理必备 |
| 软件包 | 不选任何 Snap 包 | 干净一点 |
thingsboard-server,后面看着舒服。
2.2.3 安装后的基础配置
系统装好后,第一件事就是更新。
sudo apt update && sudo apt upgrade -y
然后装几个常用工具:
sudo apt install -y curl wget vim git net-tools
2.3 安装 Docker 与 Docker Compose
Docker 是咱们的核心工具。ThingsBoard 官方推荐用 Docker 部署,省心。
2.3.1 安装 Docker
官方推荐用脚本安装,简单粗暴:
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
装完后把当前用户加入 docker 组,免得每次都要 sudo:
sudo usermod -aG docker $USER
然后退出重新登录,或者执行 newgrp docker 生效。
验证安装:
docker --version
docker run hello-world
看到 Hello from Docker! 就对了。
2.3.2 安装 Docker Compose
Docker Compose 用来编排多容器。我习惯用独立二进制安装,不依赖 Python:
sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
验证:
docker-compose --version
2.4 安装 PostgreSQL 数据库
ThingsBoard 用 PostgreSQL 存业务数据。咱们用 Docker 跑,干净利落。
2.4.1 拉取镜像并启动
docker run -d \
--name postgres \
-e POSTGRES_DB=thingsboard \
-e POSTGRES_USER=thingsboard \
-e POSTGRES_PASSWORD=your_password \
-p 5432:5432 \
-v postgres_data:/var/lib/postgresql/data \
postgres:15
解释一下参数:
-e POSTGRES_DB:自动创建数据库-v postgres_data:数据持久化,容器删了数据还在postgres:15:我用 15 版,稳定
2.4.2 验证连接
docker exec -it postgres psql -U thingsboard -d thingsboard
看到 thingsboard=# 提示符就成功了。输入 \q 退出。
123456,结果被扫了端口,数据库被勒索。嗯,真事。
2.5 安装 Redis 缓存
Redis 用来做 ThingsBoard 的缓存和消息队列。没有它,系统响应会慢很多。
2.5.1 拉取镜像并启动
docker run -d \
--name redis \
-p 6379:6379 \
-v redis_data:/data \
redis:7-alpine
这里用了 7-alpine 版本,体积小,性能好。
2.5.2 验证连接
docker exec -it redis redis-cli ping
返回 PONG 就对了。
--requirepass your_redis_password 就行。不过咱们学习阶段,先不设,省事。
2.6 检查所有服务
最后,咱们确认一下所有容器都在跑:
docker ps
应该能看到三个容器:postgres、redis,还有咱们还没启动的 ThingsBoard(下一章再说)。
嗯,到这里,环境就准备好了。你可能会问:「为什么不用 apt 直接装 PostgreSQL 和 Redis?」
我的回答是:用 Docker 统一管理,以后迁移、备份、升级都方便。你想想看,如果哪天要换服务器,直接把 docker-compose.yml 和 volume 拷过去就完事了,多省心。
下一章,咱们正式安装 ThingsBoard,把它跑起来。