部署手册

一、准备工作

1、操作系统

部署的服务器必须是以下的系统,旧版操作系统可能导致服务无法正常启动。

  • Windows Server 2019
  • Windows Server 2016
  • CentOS 7.9
  • Debian 11.6
  • 银河麒麟 V10

2、服务器端口

服务器需要开放下列端口,保证用户可以正常访问网站,以及设备可以收发数据。

类型 端口 说明
网站服务 8890,20072(Websocket) 浏览器访问EIOT网站的端口
中台服务 20001 设备免调试自动注册端口
MQTT服务 20071,20073(SSL加密) 设备接入平台的默认端口
数据可视化服务 20003 浏览器访问数据可视化平台的端口
调试网站 20004 可选,运营EIOT云服务的运营商客户需要开通
MQTT管理网站 15672 运维,Windows服务器如提供远程桌面,可不开放
远程端口 3389(Windows),22(Linux) 运维,Windows可以用向日葵、Todesk等代替

另外由于部分设备采用的并非中台标准协议,所以需要根据项目方案额外开放一些端口。

型号 端口
预付费安全用电协议(GSM500/4G表) 20024
单灯控制器(贴牌) 20027
ANet运维协议 20028
ANet建筑能耗协议 20029
安全用电协议 20030
路灯集中器 20031
铭控水表 20032
火灾报警主机 20033
科德水表 20034
电气火灾主机 20035
油烟 20036
海外MQTT协议 30001

二、Window部署

1、文件介绍和替换

1、解压文件

管理员的身份登录,必须将解压的文件夹放在D盘的根目录下,路径如下图。 不然会产生错误。

2、文件结构介绍

部署包文件说明如下表格所示。

文件夹 说明
bin 注册,删除,修改服务的脚本
conf 服务配置文件
data 数据库
Image eiot需要的模板文件
system Dll文件
tool 连接服务工具
web 前端
Server 后端

3、判断服务器环境

不同的环境,启动后台EIOT 和 Exchange 的配置文件会不同。对应关系如表格所示。

服务器环境 配置文件
海外服务器 oversea
EMS服务器
(EMS 部署好之后,部署EIOT
ems-win
最小化部署(例如移动云) min-win
买断平台,默认 prod-win

4、替换前端和后端文件

很多时候,部署包需要替换最新的前端和后端,操作如下。

前端文件替换,前端替换的目录在 D:\acrel-iot\web。有两个文件夹,eiot_web 存放eiot的前端, exchange_web 存放exchange前端

后端文件替换,后端替换的目录在 D:\acrel-iot\server 下,config 文件夹内放的是运行的配置文件

2、启动部署脚本

1、脚本介绍

D:\acrel-iot\bin 目录下有一系列的脚本,功能如下。

脚本文件 说明
默认部署.bat 单个服务器,注册并启动所有服务
EMS部署.bat EMS服务器, 注册并启动特定的服务
分开部署-数据库.bat 分开部署中,注册并启动数据库服务
分开部署-应用端.bat 分开部署中,注册并启动应用端
清空服务.bat 删除所有服务,并清空Rabbitmq的注册表
Mysql定时备份.bat Mysql 定时备份脚本

2、启动脚本

请参考表格。

服务器环境 配置文件 启动脚本(有先后顺序)
EMS服务器 (EMS 部署好之后,部署EIOT) ems-win 1、EMS部署.bat
最小化部署(例如移动云) min-win 1、RabbitMq_Init.bat 2、Exchange_Init.bat
买断平台,默认 prod-win 1、默认部署.bat
数据应用分开部署 prod-win 1、分开部署-数据库.bat数据库服务器 2、分开部署-应用端.bat前端后端服务器

3、部署确认

1、服务检查,Win + R 输入 taskmgr 打开任务管理器, 就可以看到IOT开头的服务的运行情况,不是Running 说明有问题。

2、网站检查,打开网站localhost:8890,确认可以登录。

3、网关上线确认,在网站的网关状态上通讯状态和仪表状态上查看最后采集时间。

4、工具

在 D:\acrel-iot\tools 目录下放着一些连接工具,方便检查调试。

  • MQTT BOX 是连RabbitMq的设备
  • Navicat 用来连接Mysql 和 MongoDB
  • lRedis Desktop Manager 连接Redis
  • DirectX 修复系统文件
  • TCP&UDP测试工具
  • Chrom浏览器

三、Linux部署

1、文件介绍和替换

1、解压文件

用tar -xvf acrel-iot-linux(V1.7.0).tar.gz -C /home 将部署包解压到 /home 目录下。路径如下图:

2、文件结构介绍

部署包文件说明如下表格所示。

文件夹 说明
docker 容器配置
config 配置文件(Nginx,Rabbitmq)
server 后端
web 前端
data 数据库
service 服务
images 模板
分开部署-数据库.sh 分开部署的数据端安装脚本
分开部署-应用端.sh 分开部署的应用端安装脚本
集群部署-主.sh 集群的主服务器安装脚本
集群部署-从.sh 集群的从服务器安装脚本
默认部署.sh 单机部署的安装脚本

2、启动部署脚本

1、单机部署(默认)

运行命令 sh /home/acrel-iot-linux/默认部署.sh

2、数据应用分开部署

数据服务器上,运行命令sh /home/acrel-iot-linux/分开部署-数据库.sh

应用服务器上,运行命令sh /home/acrel-iot-linux/分开部署-应用端.sh

3、集群部署

主节点服务器上,运行命令 sh /home/acrel-iot-linux/默认部署.sh

从节点服务器上,分如下几步:

1、将Docker目录下的docker-compose-rep.yml中124.71.138.23替换为主服务器IP地址

2、运行命令 sh /home/acrel-iot-linux/集群部署-从.sh

3、运行命令 docker exec -it iot-mongo bash 进入容器

4、运行命令 mongo -u acrel -p 1a2c3r4e5l6 进行登录

5、运行以下命令,加入到集群:

rs.initiate({
    _id: "rs",
   version: 1,
   members: [
     { _id: 0, host : "主服务器IP:20051" ,priority:2 },
     { _id: 1, host : "从服务器IP:20051",priority:1 }
   ]
})

6、运行命令exit退出

3、部署确认

1、服务是否运行正常

输入 docker ps 显示如下图,如果status 列中有服务一直在重启,说明有异常

2、登录网站,可以成功登录。

3、网关上线确认,在网站的网关状态上通讯状态和仪表状态上查看最后采集时间。

4、服务重启

1、关闭

docker stop iot-mysql

docker stop iot-mongo

docker stop iot-rabbitmq

docker stop iot-redis

docker stop iot-nginx

docker stop iot-exchange

docker stop iot-eiot

2、开启

docker start iot-mysql

docker start iot-mongo

docker start iot-rabbitmq

docker start iot-redis

docker start iot-nginx

docker start iot-exchange

docker start iot-eiot

四、常见问题处理

请点此链接跳转

results matching ""

    No results matching ""