JetLinks物联网平台在windows 7搭建(前后端)部署教程

近期对接TCP、modbusTCP等自定义解析,做了很多万能解析的方法,却都不遂人意,而一直在用的ThingsBoard不能直接对接TCP透传(企业版除外),需要在外围做一些自定义解析,然后转json再mqtt上传,感觉来说比较麻烦。

所以就发现了jetLinks,可以满足上述我所说的要求,故此就在本电脑开始了搭建部署,借此记录下整个过程,到时候再在服务端部署的时候避免踩坑。

废话不多说,开始整起!

由于这个jetlinks前后端分离,所以要分前后端的部署。

目录

一、后端篇

1、预备条件

2、代码下载

3、代码调整

4、代码运行

二、前端篇

1、预备条件

2、下载打包

3、nginx运行

4、前端开启


一、后端篇

1、预备条件

硬件:本人电脑win7系统,内存够用就行

软件配置:

①JDK 1.8.0_2xx (需要版本号大于200) 下载jdk

②Redis 5.x;

③PostgreSQL 11 或者 mysql 5.7 +;

④ElasticSearch 6.8-7.17.5 下载(也可以不配置,我用了内嵌的,只需配置下即可,下文会讲到)

上面的配置我都收集在一起了,下载地址:JetLinks配件

2、代码下载

访问项目的github地址(踩坑:最新的会出错,我是下了这个版本的):GitHub - jetlinks/jetlinks-community: JetLinks 基于Java8,Spring Boot 2.x ,WebFlux,Netty,Vert.x,Reactor等开发, 是一个全响应式的企业级物联网平台。支持统一物模型管理,多种设备,多种厂家,统一管理。统一设备连接管理,多协议适配(TCP,MQTT,UDP,CoAP,HTTP等),屏蔽网络编程复杂性,灵活接入不同厂家不同协议等设备。实时数据处理,设备告警,消息通知,数据转发。地理位置,数据可视化等。能帮助你快速建立物联网相关业务系统。

对于最新版本的有这个问题,向大佬请教了,说拉取没有完全拉完,我想说的是,我整个都扒下来了,还是有问题。

题外话扯多了,下载上述说的那个版本,直接下载代码到本地,或者直接git拉取。

3、代码调整

待项目初始化完毕后,修改配置文件,配置下redis数据库(timeout我设置了200s),然后用的是postgres(数据库名:jetlinks)

使用内嵌的ElasticSearch,不用单独安装:

4、代码运行

运行前,先maven下

然后运行JetLinksApplication.java

然而不是一下就完成运行的,其中也遇到了2个问题:

①java: 程序包jdk.nashorn.internal.runtime不存在,解决之法:点击idea的"File--Project Structure"把java版本改为1.8(必须是1.8.0_200以上版本)

②遇到问题:Error running 'JetLinksApplication': Command line is too long. Shorten command line for JetLinksApplication or also for Spring Boot default configuration?

解决之法:点击上图中JAR manifest,将命令行中的参数配置到 JAR 文件的 Manifest 文件中,而不是直接在命令行中指定。这样可以通过减少命令行长度来避免问题。

有遇到其他问题的童鞋,可以去这里找到答案:常见问题 · JetLinks企业级物联网基础平台

最后不负众望,运行成功了。

同时,我的postgres数据库也生成表结构并插入数据,到这里后端搭建就完成了,但不要关闭,让代码一直运行,因为还有前端没部署好呢!

二、前端篇

jetlinks前端有2个代码库,ant版本(旧) 和 vue版本(新),我尝试两个都测试下,走了不少弯路,最终发现vue版本行不通,所以就选择了ant版本(旧)。

1、预备条件

官网下载Nginx,这里是使用windows的稳定版本进行测试。

下载地址:nginx: download

进入到Nginx文件根目录下,执行如下命令启动Nginx服务

复制代码
start nginx

命令执行完成后,浏览器打开:127.0.0.1:80,若出现如下页面则Nginx安装并运行成功。

2、下载打包
复制代码
前端代码下载:https://github.com/jetlinks/jetlinks-ui-antd.git

或者直接git拉取到本地:

$ git clone https://github.com/jetlinks/jetlinks-ui-antd.git

安装npm(若已安装请忽略):

使用npm打包(命令在 jetlinks-ui-antd 根目录下执行)

复制代码
  yarn install 
  yarn run build 

如果遇到报错如下:

应该是JavaScirpt内存不够,打包的时候内存溢出了

解决方法:

在后面加上最大内存限制

复制代码
$ npm run-script build --max_old_space_size=4096

打包成功!

在jetlinks-ui-antd文件下自动生成了dist 文件。

3、nginx运行

将生产的dist文件复制到nginx/html文件中

修改Nginx文件目录下的/conf/nginx.conf中的内容,只需要调整server段的代码块即可:

复制代码
server {
  listen 9000; #访问的端口(默认9000,根据需求自定义)
  listen [::]:9000;
  # gzip config
  gzip on;
  gzip_min_length 1k;
  gzip_comp_level 9;
  gzip_types text/plain text/css text/javascript application/json application/javascript application/x-javascript application/xml;
  gzip_vary on;
  gzip_disable "MSIE [1-6]\.";
  location / {
    root   html/dist; #项目资源文件加载目录
    index  index.html; #项目首页文件
  }

  # nginx反向代理,自动匹配路径中带有"/api/"部分并转发至proxy_pass代理的后端地址
  location ^~/api/ {
      proxy_pass http://127.0.0.1:8848/; #代理地址,修改为后端地址
      proxy_set_header X-Forwarded-Proto $scheme;
      proxy_set_header Host $host;
      proxy_set_header X-Real-IP  $remote_addr;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_http_version 1.1;
      proxy_set_header Upgrade $http_upgrade;
      proxy_set_header Connection "upgrade";
      proxy_connect_timeout   1;
      proxy_buffering off;
      chunked_transfer_encoding off;
      proxy_cache off;
      proxy_send_timeout      30m;
      proxy_read_timeout      30m;
      client_max_body_size    500m;
  }
}

保存好配置文件,重新启动Nginx,执行如下命令重启:

复制代码
nginx -s reload
4、前端开启

打开浏览器,访问http://localhost:9000,账号/密码:admin/admin。若能正常访问服务则打包部署成功。

前提:成功启动了后端服务或者后端服务一直没关闭。

相关推荐
LCG元3 小时前
STM32+ESP8266+MQTT 物联网气象站:从零搭建温湿度远程监测系统(附完整源码)
stm32·物联网·struts
殷忆枫6 小时前
基于K210与STM32的智能垃圾分类与物联网监管系统
stm32·物联网·分类
老孙讲技术11 小时前
【4G IPC 上云】临时点位怎么免布线上云?listDeviceDetailsByPage + 辅码流预览|智慧工地实战
后端·物联网
数字新视界14 小时前
信创动环监控厂家深入剖析智能机房环境监控技术应用与挑战
服务器·数据库·物联网·芯片·动环监控系统
笨鸟先飞,勤能补拙15 小时前
AI Agent应用领域深度解析:从概念到落地的全维度审视
大数据·人工智能·python·物联网·安全·网络安全·github
星恒讯工业路由器1 天前
当无人机成为“空中路由器”:应急通信背后的联网技术支撑
物联网·信息与通信·wifi模块·无人机模块·无人机应急通信·空中基站·三断通信
会周易的程序员1 天前
aiDgePLC — IEC61131-3 ST PLC 虚拟机调试与运行环境
c++·物联网·虚拟机·st·工业协议·iec61131·梯形图
老孙讲技术1 天前
周末档期厨房爆单,带宽账单也爆了——不是直播难,是主码流 + always 计划在烧钱
后端·物联网
老孙讲技术1 天前
校园开放日前夜才说要「全校透明」?我用轻应用把 9 路教室预览和回放嵌进了校园后台
后端·物联网
Kingexpand_com1 天前
物联网APP开发该选原生还是跨平台?场景选型详解
物联网·物联网app·物联网app定制开发·物联网开发公司