数据解析模块
Você não pode selecionar mais de 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.

IoT Platform 部署文档

概述

本项目使用 systemd 管理进程,通过 deploy.sh 脚本实现一键构建、上传、备份、健康检查和自动回滚。

服务器环境

  • 服务器: online180 (47.104.204.180)
  • OS: Alibaba Cloud Linux 3
  • Java: OpenJDK 1.8.0_412
  • 安装目录: /opt/iot-platform/
  • 服务名称: iot-platform

目录结构

/opt/iot-platform/
├── iot-platform.jar          # 当前运行版本
├── .env                      # 环境变量(密码、凭据)
├── backup/                   # 版本备份(自动创建)
├── bin/
│   ├── deploy.sh             # 一键部署脚本(本地运行)
│   └── health-check.sh       # 健康检查脚本
├── config/                   # 线上专属配置
└── logs/                     # 日志输出

快速开始

首次部署(服务器初始化)

如果服务器上还没有安装 systemd 服务,执行初始化:

cd deploy
scp setup-server.sh root@47.104.204.180:/tmp/
scp iot-platform.service root@47.104.204.180:/tmp/
scp ../.env root@47.104.204.180:/tmp/iot-platform.env
ssh root@47.104.204.180 "chmod +x /tmp/setup-server.sh && /tmp/setup-server.sh"

日常部署

方式一:本地构建后部署

cd deploy
./deploy.sh --build

流程:

  1. 本地执行 mvn clean package
  2. 上传 jar 到服务器
  3. 备份当前版本(带时间戳)
  4. 停止 systemd 服务
  5. 替换 jar
  6. 启动服务
  7. 健康检查(/actuator/health
  8. 失败则自动回滚到上一个版本

方式二:指定 jar 部署

cd deploy
./deploy.sh --jar ../iot-platform/target/iot-platform.jar

方式三:CI/CD 构建后部署

cd deploy
./deploy.sh --jar /path/to/ci/artifacts/iot-platform.jar

环境变量

.env 文件位于项目根目录和服务器 /opt/iot-platform/.env,包含所有敏感凭据:

# MySQL
MYSQL_USERNAME=root
MYSQL_PASSWORD="..."

# Redis
REDIS_PASSWORD=

# MQTT
MQTT_USERNAME=...
MQTT_PASSWORD=...

# TDengine
TDENGINE_USERNAME=root
TDENGINE_PASSWORD=taosdata

# Druid 监控
DRUID_STAT_ENABLED=false
DRUID_USERNAME=ruoyi
DRUID_PASSWORD=...

注意.env 文件已加入 .gitignore切勿提交到 Git

服务器管理

# 查看状态
systemctl status iot-platform

# 重启
systemctl restart iot-platform

# 停止
systemctl stop iot-platform

# 查看日志
journalctl -u iot-platform -f

# 查看历史日志
journalctl -u iot-platform --since "1 hour ago"

健康检查

# 在服务器上执行
bash /opt/iot-platform/bin/health-check.sh localhost 8887 30

# 或从本地检查
curl -s http://47.104.204.180:8887/actuator/health

健康检查策略:

  1. 优先检查 /actuator/health(Spring Boot Actuator)
  2. 如果 Actuator 未启用,降级为 TCP 端口监听检查

回滚

如果部署失败,deploy.sh 会自动回滚到上一个版本。

手动回滚:

ssh root@47.104.204.180
systemctl stop iot-platform
ls /opt/iot-platform/backup/          # 查看可用备份
cp /opt/iot-platform/backup/iot-platform-XXXX.jar /opt/iot-platform/iot-platform.jar
systemctl start iot-platform

配置文件说明

文件 说明
deploy.sh 一键部署脚本(本地执行)
setup-server.sh 服务器初始化脚本(服务器执行)
health-check.sh 健康检查脚本
iot-platform.service systemd 服务定义