SpaceIoT SpaceIoT
首页
  • SpaceIoT平台

    • 平台应用场景
    • 背景及业务架构
    • 许可说明
  • 基本概念

    • 物模型
  • 物联网平台

    • 技术架构
    • 快速部署
    • 设备接入
  • 边缘服务器

    • 待发布
  • 智慧社区
  • 智慧园区
  • 智慧家居
  • 智慧校园
演示
关于我们
GitHub (opens new window)
首页
  • SpaceIoT平台

    • 平台应用场景
    • 背景及业务架构
    • 许可说明
  • 基本概念

    • 物模型
  • 物联网平台

    • 技术架构
    • 快速部署
    • 设备接入
  • 边缘服务器

    • 待发布
  • 智慧社区
  • 智慧园区
  • 智慧家居
  • 智慧校园
演示
关于我们
GitHub (opens new window)
  • 基本概念

    • 物模型
  • 物联网平台

    • IOT技术架构
    • 快速部署
      • 硬件要求
      • 端口占用
      • 部署前准备
        • 安装 docker 环境
        • 安装 docker-compose 环境
        • 安装 git 命令终端
      • 部署步骤
        • 拉取仓库源码
        • 定位 docker-compose 部署文件
        • 执行 docker-compose 部署文件
    • 设备接入
  • 边缘服务器

    • 待发布
  • 文档
  • 物联网平台
2024-06-17
目录

快速部署

# 中间件依赖

中间件名称 版本 推荐版本
openjdk >=jdk8 jdk11
mysql >=8.0 8.0.37
redis >=6.2 6.2.14
influxdb >=1.8 1.8.10

# 服务器要求

# 硬件要求

配置:硬件资源最低要求4c8G,硬盘40G。
网络:能正常上网。
系统:linux系统。

# 端口占用

端口 说明
8088 spacel-iot-server 使用,也就是后端服务占用的端口
9090 websocket 链路占用端口,ws 设备客户端通过该端口连接云端
3307 mysql 数据库占用端口
6379 redis 占用端口
8086 influxdb 时序数据库占用端口

# docker 部署

# 部署前准备

# 安装 docker 环境

安装方法:https://www.docker.com (opens new window)

# 安装 docker-compose 环境

安装方法:https://github.com/docker/compose/releases (opens new window)

# 安装 git 命令终端

安装方法:https://git-scm.com/book/zh/v2/起步-安装-Git (opens new window)

# 部署步骤

# 拉取仓库源码

https://github.com/Aciga-Iot/space-iot.git
1

得到以下目录

iot

# 定位 docker-compose 部署文件

进入仓库的docker目录,进入./docker/deploy 目录,可看到docker-compose.yml文件

docker-compose.yml 编排文件

version: '2'

networks:
  network:
    ipam:
      driver: default
      config:
        - subnet: '172.18.0.0/16'

services:
  mysql:
    image: mysql:8.0.37
    container_name: mysql
    ports:
      - 3307:3306
    privileged: true
    networks:
      network:
        ipv4_address: 172.18.0.2
    volumes:
      - ../run_data/mysql/data:/var/lib/mysql
      - ../mysql/config/mysql.cnf:/etc/mysql/conf.d/mysql.cnf
      - ../mysql/initdb/spacel_iot_init.sql:/docker-entrypoint-initdb.d/spacel_iot_init.sql
    environment:
      MYSQL_DATABASE: spacel_iot
      MYSQL_ROOT_PASSWORD: spacel_iot
    command:
      [
        'mysqld',
        '--character-set-server=utf8',
        '--collation-server=utf8_unicode_ci',
        '--default-time-zone=+8:00',
        '--lower-case-table-names=1'
      ]

  redis:
    image: redis:6.2.14
    container_name: redis
    ports:
      - 6379:6379
    privileged: true
    networks:
      network:
        ipv4_address: 172.18.0.3
    volumes:
      - ../run_data/redis:/usr/local/etc/redis
      - ../run_data/redis/data:/data
    command: [ '-- requirepass spacel_iot', '-- appendonly yes' ]


  influxdb:
    container_name: influxdb
    image: influxdb:1.8.10
    restart: always
    networks:
      network:
        ipv4_address: 172.18.0.4
    environment:
      - INFLUXDB_DB=spacel_iot
      - INFLUXDB_ADMIN_USER=admin
      - INFLUXDB_ADMIN_PASSWORD=spacel_iot
      - TZ=Asia/Shanghai
    ports:
      - "8086:8086"
    volumes:
      - ../run_data/influxdb/data:/var/lib/influxdb


  iot-server:
    build:
      context: ../spacel-iot-server
      dockerfile: ../spacel-iot-server/Dockerfile
    container_name: spacel-iot-server
    image: spacel-iot-server:latest
    ports:
      - 8088:8088
      - 9090:9090
    privileged: true
    networks:
      network:
        ipv4_address: 172.18.0.5
    depends_on:
      - redis
      - mysql
      - influxdb
    volumes:
      - ../run_data/spacel-iot-server/uploadPath:/spacel_iot/uploadPath
      - ../run_data/spacel-iot-server/logs:/spacel_iot/logs
      - /etc/localtime:/etc/localtime
    environment:
      - TZ=Asia/Shanghai
      - JAVA_OPTS=-Xmx512m
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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92

# 执行 docker-compose 部署文件

iot部署

部署完成,可查看 docker 容器进程

iot部署

部署完成后,可打开管理后台:http://127.0.0.1 (opens new window)

# 登录 spacel-iot 管理后台

打开 chrome 浏览器,访问 http://127.0.0.1 (opens new window) 地址,如下图:

iot

输入登录密码:admin/123456,如下图:

iot部署

# docker 部署目录说明

iot部署

说明:

  1. deploy 目录放置的 docker-compose.yml 文件
  2. mysql 目录放置的是 mysql 容器启动配置文件和 mysql 容器初始化的项目数据脚本
  3. space-iot-server 目录存放的是后端服务构建容器 Dockerfile 文件、txt 说明文件、后端服务运行 jar 包,其中后端服务 jar 是通过后端代码编译所得,如下图:
iot部署

后端服务 jar 扩展说明:

后端服务 jar 包中包含了前端静态文件,所以本项目部署并没有独立部署前端文件,如下图:

iot部署

而其中的前端静态文件是正是通过 admin-vue 前端代码编译后得到的。

  1. run_data 目录是项目部署启动后,项目运行过程中容器产生的运行数据,并通过 docker 的目录挂载到宿主机目录中,其中数据目录有:

(1)influxdb 目录:项目依赖了 influxdb 中间件,所以此目录存放的是 influxdb 数据文件;
(2)mysql 目录:存放项目 mysql 的数据文件;
(3)redis 目录:存放项目 redis 的数据文件;
(4)spac-iot-server 目录:存放项目后端服务运行过程中产生的日志文件以及项目上传的文件;

上次更新: 2024/07/10, 15:53:57
IOT技术架构
设备接入

← IOT技术架构 设备接入→

Theme by Vdoing | Copyright © 2024-2024 安心加云联
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式