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

news2024/11/18 1:26:19

近期对接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。若能正常访问服务则打包部署成功。
前提:成功启动了后端服务或者后端服务一直没关闭。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1716541.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

湘潭大学软件工程专业oracle-sqlplus安装教程

前言 笔者在网上找了一些教程,但是没有装好,或者不知道啥原因,反正就是登不进去老师要求的系统,连接不上服务器,非常苦恼,请教了一下同学,终于弄好了,本文希望能帮助到和我一样有相…

微信公众号开发(一):准备工作

微信公众号除了可以用来发文章,但也可以用来做一些自动回复的小工具,比如: 下面,记录一下开发过程,先是一些准备工作: 一:公众号设置 1、申请公众号 2、进入公众号后台,记录AppID…

做视频号小店和达人对接的好,爆单少不了!

大家好,我是喷火龙。 目前,视频号是没有什么自然流量的,所以,想要出单、爆单的话,靠达人带货的方式才是最可靠的,靠达人带货是肯定要对接达人,并和达人沟通带货的。 下面给大家讲一讲应该怎么…

接口的扩展方法 注意点

只把必备的契约定义在接口中,把其他功能留给扩展方法去实现 定义接口的时候,只把必备的功能列出来就行了,而其他一些功能则可以在别的类里面以扩展方法的形式去编写,那些方法能够借助原接口所定义的基本功能来完成自身的任务。 这…

【Python Cookbook】S01E02 从任意长度的可迭代对象中分解元素

目录 问题解决方案讨论 问题 从某个不确定长度的迭代对象中分解出 N N N 个元素。 解决方案 *分解操作和各种函数式语言中的列表处理功能有着一定的相似性。例如,如果有一个列表,可以像下面这样轻松将其分解为头部和尾部。 scores [99, 97, 91, 89…

华大单片机下载报错“Error:Flash Download failed-“Cortex-M4””

Error:Flash Download failed-“Cortex-M4” 问题说明 使用华大单片机HC32F460KETA下载程序时,出现关于M4核的报错,具体如下: 此种情况下代码编译时没有问题的,只是下载时就会显示错误。 解决方法 注意最后一步选默…

css-表头筛选的特定样式

背景 饿了么的表头筛选样式比较简单,如图1,产品觉得不够醒目(觉得用户可能不知道这是筛选,我表示不理解) 要求改进筛选的样式,达到图2的效果,主要是状态列,既希望这列的宽度固定&a…

用Python实现办公自动化

💂 个人网站:【 摸鱼游戏】【神级代码资源网站】【工具大全】🤟 一站式轻松构建小程序、Web网站、移动应用:👉注册地址🤟 基于Web端打造的:👉轻量化工具创作平台💅 想寻找共同学习交…

地理信息系统(GIS)软件的最新进展

在数字化转型的浪潮中,地理信息系统(GIS)作为连接现实与数字世界的桥梁,其软件和技术的每一次迭代升级都在推动着空间信息处理和分析能力的飞跃。作为地理信息与遥感领域的探索者,本文将带您深入了解GIS软件的最新进展…

只刷题可以通过PMP考试吗?

咱们都知道,PMBOK那本书,哎呀,读起来确实有点费劲。所以,有些人就想了,干脆我就刷题吧,题海战术,没准儿也能过。这话啊,听起来似乎有点道理,但咱们得好好琢磨琢磨。 刷题…

异步编程的魔力:如何显著提升系统性能

异步编程的魔力:如何显著提升系统性能 今天我们来聊聊一个对开发者非常重要的话题——异步编程。异步编程是提升系统性能的一种强大手段,尤其在需要高吞吐量和低时延的场景中,异步设计能够显著减少线程等待时间,从而提升整体性能。 异步设计如何提升系统性能? 我们通过…

揭秘“循环消费”模式:消费即收益,购物新体验

亲爱的朋友们,大家好,我是李华。今天,我要为大家介绍一种正在悄然兴起的商业模式——“循环消费”。你是否曾想过,在消费的同时,还能获得额外的收益和回馈?这种新型模式正在逐渐改变我们的购物体验。 近期&…

拼多多(PDD)社招一面原题

未成年游戏退费 5 月 28 日,中国互联网协会发布《未成年人网络游戏服务消费管理要求(征求意见稿)》团体标准。 该标准是游戏行业首个完整的消费管理规范,可用于未成年人游戏消费退费纠纷解决,也可为相关行政部门、司法…

【因果推断python】1_因果关系初步1

目录 为什么需要关心因果关系? 回答不同类型的问题 当关联确实是因果时 为什么需要关心因果关系? 首先,您可能想知道:它对我有什么好处?下面的文字就将围绕“它”展开: 回答不同类型的问题 机器学习目…

01_Spring Ioc DI案例,setter方法和构造方法注入(详解) + 思维导图

文章目录 一.概念实操Maven父子工程 二. IOC和DI入门案例【重点】1 IOC入门案例【重点】问题导入1.1 门案例思路分析1.2 实现步骤2.1 DI入门案例思路分析2.2 实现步骤2.3 实现代码2.4 图解演示 三、Bean的基础配置问题导入问题导入1 Bean是如何创建的【理解】2 实例化Bean的三种…

微火全域运营平台成优选,业内人士纷纷研究!

随着全域运营赛道的兴盛,越来越多的全域运营平台陆续上线,拓宽全域运营服务商选择空间的同时,也让全域运营平台选择成为了他们最为头疼的问题。在此背景下,各大全域运营平台背后的研发公司开始各出奇招,以获得更多全域…

v4l2抓取rv1126图像

0.准备工作 本文是基于正点原子的rv1126开发板使用mx415摄像头对不同节点的图像进行抓取 1.数据流向 图1 mx415采集到的数据为原始的拜尔格式(也就是raw格式),我们需要通过isp进行图像的调节才符合视觉,其中isp和ispp是两个处理的…

《C语言深度解剖》(15):动态内存管理和柔性数组

🤡博客主页:醉竺 🥰本文专栏:《C语言深度解剖》 😻欢迎关注:感谢大家的点赞评论关注,祝您学有所成! ✨✨💜💛想要学习更多C语言深度解剖点击专栏链接查看&…

kafka的安装与简单使用

下载地址:Apache Kafka 1. 上传并解压安装包 tar -zxvf kafka_2.13-3.6.2.tgz 修改文件名:mv kafka_2.13-3.6.2 kafka 2. 配置环境变量 sudo vim /etc/profile #配置kafka环境变量 export KAFKA_HOME/export/server/kafka export PATH$PATH:$KAFKA…

普通测径仪和智能测径仪的五大区别

在工业自动化和精密测量的领域中,测径仪是不可或缺的重要工具。随着科技的进步,测径仪也在不断地进行技术革新和升级,从传统的普通测径仪发展到如今的智能测径仪。本文将详细探讨普通测径仪与智能测径仪之间的五大区别。 一、测量精度与稳定…