记录阿里云服务器(Centos7.9)部署Thingsboard(3.4.2)遇到的一些问题

记录编译Thingsboard遇到的一些问题

部署了一个thingsboard项目到阿里云服务器上,历时十一天,遇到了很多困难,国内关于Thingsboard的资料确实很少,所以想着写一篇博客记录一下,或许能够给以后编译遇到类似问题的人一些方向也好。

环境:阿里云ECS云服务器(2核8G 带宽1M)
操作系统:Centos7.9
源码:Thingsboard-3.4.2

首先最重要的是根据自己thingsboard package.json porm.xml文件中安装好对应版本的jdk,nodejs,yarn,maven,postgresql,安装好git。版本对应上是首要前提,不然可能出现很多莫名其妙的问题,切记不要给自己留坑。

编译过程中server-UI模块报错(yarn build失败)

这个模块是Thingsbaord很大的一个模块,编译时间最长,若是前面有什么问题,大部分是依赖相关的下载问题,网上大部分能找到解决方法。唯独这个yarn build,国内鲜有人提及,我在github讨论区看到有人有一样的报错,有人说是内存问题,有人设置了虚拟内存,结果他解决了,成功编译,但是我设置了之后还是无法成功编译,和github上另一个人一样,不过确实是内存问题,因为这个前端模块需要很大的资源,在我的实验下,与是否设置虚拟内存关系不大,需要将阿里云服务器升级至8G才可同时挂上梯子才可编译成功,4G无法编译成功,一般编译时间直接干到十分钟。若是升级到8G还不能成功,尝试置换掉ui-ngx模块,重新挂梯子(网速快的)进行编译,应该可以成功。

请添加图片描述
请添加图片描述

postgresql远程连接不上

在服务器上安装好postgresql后。使用navicat进行远程连接失败。显示连接失败,此时首先应查看:
1.阿里云安全组是否打开postgresql5432端口,若未打开,在阿里云服务器控制台打开。
2、linux内查看防火墙状态,5432端口是否打开,若关闭,打开。
3、同时配置postgresql的一些配置文件,此处网上相关文章很多,不再赘述。主要是listen_address和IPV4…,此处配置了则问题不大。
若上述都已查看并完成,则打开navicat,首先使用SSH即22端口进行服务器连接,再使用5432端口进行连接数据库,即可连接成功。

里云服务器控制台打开。
2、linux内查看防火墙状态,5432端口是否打开,若关闭,打开。
3、同时配置postgresql的一些配置文件,此处网上相关文章很多,不再赘述。主要是listen_address和IPV4…,此处配置了则问题不大。
若上述都已查看并完成,则打开navicat,首先使用SSH即22端口进行服务器连接,再使用5432端口进行连接数据库,即可连接成功。

postgresql locale相关问题

请添加图片描述请添加图片描述

在windows10上安装postgresql时,一定要注意locale的设置,若你选择了default,则你的locale会根据你操作系统来进行设定,变成windows10的一个中文编码——Chinese (Simplified)_China.936,这个中文编码linux是不兼容的,linux上的中文编码只有zh_CN.utf-8,这个locale会影响postgresql索引相关,如果你选择了Chinese (Simplified)_China.936,在使用navicat迁移数据到linux服务器上的数据库时会失败。此时可以选择pgadmin4进行数据库迁移,可以解决locale不兼容的问题。

编译跳过测试

网上很多文章给出的编译跳过测试命令都一样,但是在后面还是报了一个编译的错误,我使用这个命令跳过测试进行编译成功。

mvn clean install -Dmaven.test.skip=true

请添加图片描述

执行数据库脚本报错

本来因为上面的locale问题,导致数据库无法迁移成功,我想使用数据库初始化脚本重新生成初始化数据,在执行的过程中遇到脚本中sudo和JAVA命令找不到,就tm离谱。(环境变量检查了很久,就是没问题)此处若是报错找不到执行的脚本文件,则进入文件,查看:set ff若不是unix改为unix.
我进入脚本文件,将找不到的sudo和java强行用本机绝对地址写入(查看地址使用which sudo | which java)可以运行成功,虽然还是报错,但是至少脚本可以执行了。虽然不知道具体是什么原因导致的,若是有人遇到类似问题,可以尝试一下,就当提供一个思路。

到此处,编译部署顺利结束。

之后分别运行后端和前端,若顺利启动即可访问http://localhost:4200/login使用thingsbaord了。
由于国内的资料非常少,在遇到报错的过程中,查找的过程真是非常的痛苦,所以记录一下一些自己遇到的问题,也希望能够提供一些思路吧!

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

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

相关文章

Python+playwright 实现Web UI自动化

实现Web UI自动化 技术:Pythonplaywright 目标:自动打开百度浏览器,并搜索“亚运会 金牌榜” 需安装:Playwright (不用安装浏览器驱动) # 使用浏览器,并可视化打开 browser playwright.ch…

tomcat、nginx实现四层转发+七层代理+动静分离实验

实验环境: nginx1——20.0.0.11——客户端 静态页面: nginx2——20.0.0.21——代理服务器1 nginx3——20.0.0.31——代理服务器2 动态页面: tomcat1——20.0.0.12——后端服务器1 tomcat2——20.0.0.22——后端服务器2 实验步骤&…

【CANoe】文件处理_hex文件读取解析

hex文件里面只有00,01,04三种码。那么我们在解析的时候只需要对这三种不同状态的进行不同的解析即可。 hex文件格式的解析,可阅读:HEX文件格式详解 首先创建一个Block的结构体,根据经验我们知道,一个数据…

EthernetIP 转MODBUS RTU协议网关连接FANUC机器人作为EthernetIP通信从站

远创智控YC-EIPM-RTU网关产品是一款高效的数据采集工具,它可以通过各种数据接口与工业领域的仪表、PLC、计量设备等产品连接,实时采集这些设备中的运行数据、状态数据等信息。采集到的数据经过整合和运算等操作后,可以被传输到其他设备或者云…

【C++】stackqueue

适配器是一种设计模式 , 该种模式是将一个类的接口转换成客户希望的另外一个接口 。 虽然 stack 和 queue 中也可以存放元素,但在 STL 中并没有将其划分在容器的行列,而是将其称为 容器适配 器 ,这是因为 stack 和队列只是对其他容…

linux上在docker中使用anaconda创建虚拟环境

conda的一些命令以及创建环境的基本命令可参考:Conda环境搭建以及激活 以及 conda 本地环境常用操作 前言 这里是梳理linux上在docker中使用conda,以配置MLD-TResNet-L-AAM模型为例。论文笔记参考:多标签分类论文笔记 | Combining Metric Lea…

分类选择,最多五级

效果图&#xff0c;这种竖向的分类选择&#xff0c;每一列可以用不同的背景颜色 组件代码 <template><view class"toolTypeBox" :style"max-height:${maxHeight}"><block v-for"(item,index) in datalist"><block v-if&…

企业c#语言源代码防泄密解决方案

在当今数字化时代&#xff0c;企业的核心业务往往依赖于软件应用程序。为了保护企业的知识产权和敏感信息&#xff0c;源代码的保密至关重要。对于制造类企业尤其是智能制造业来讲&#xff0c;最近几年是高速发展的时期&#xff0c;很多公司在做工厂流水线设备时&#xff0c;就…

Python学习笔记——类、魔术方法

食用说明&#xff1a;本笔记适用于有一定编程基础的伙伴们。希望有助于各位&#xff01; 类 类的运用很常见&#xff1a;在大部分情况下&#xff0c;对一些特有的对象&#xff0c;可以使用特定的类来指向它&#xff1a; class Person:name unknownage -1sex 0partner No…

微信小程序三种授权登录以及授权登录流程讲解

&#x1f389;&#x1f389;欢迎来到我的CSDN主页&#xff01;&#x1f389;&#x1f389; &#x1f3c5;我是Java方文山&#xff0c;一个在CSDN分享笔记的博主。&#x1f4da;&#x1f4da; &#x1f31f;推荐给大家我的专栏《微信小程序开发实战》。&#x1f3af;&#x1f3a…

小县城蔬菜配送小程序制作全攻略

随着互联网的普及和人们对生活品质要求的提高&#xff0c;越来越多的小县城开始开发蔬菜配送小程序&#xff0c;以满足当地居民对新鲜蔬菜的需求。制作一个小县城蔬菜配送小程序&#xff0c;需要经过以下步骤&#xff1a; 步骤一&#xff1a;登录乔拓云平台 首先&#xff0c;打…

揭开 Amazon Bedrock 的神秘面纱 | 基础篇

在 2023 年 4 月&#xff0c;亚马逊云科技曾宣布将 Amazon Bedrock 纳入使用生成式人工智能进行构建的新工具集。Amazon Bedrock 是一项完全托管的服务&#xff0c;提供各种来自领先 AI 公司&#xff08;包括 AI21 Labs、Anthropic、Cohere、Stability AI 和 Amazon 等&#xf…

Android音视频开发之基础知识

一、视频文件 1、视频格式 常见格式&#xff1a;mp4、mkv、flv 封装的数据&#xff1a;音频码流、视频码流 常用工具&#xff1a; [FFmpeg下载]:https://ffmpeg.org/download.html 下载、安装并配置环境变量 ffmpeg.exe 视频编解码 ffplay.exe 播放器库 ffprobe.exe 音视频分…

git(部分)

1、git三个区域&#xff1a;工作区&#xff0c;暂存区&#xff0c;版本库 2、git文件状态&#xff1a;未跟踪&#xff0c;已跟踪&#xff08;新添加&#xff0c;未修改&#xff0c;已修改&#xff09; 如何查看暂存区和工作区文件状态&#xff1a;git status -s 3、查看版本记…

mysql MVC jsp实现表分页

mysql是轻量级数据库 在三层架构中实现简单的分页 在数据库sql编程中需要编写sql语句 SELECT * FROM sys.student limit 5,5; limit x,y x是开始节点&#xff0c;y是开始节点后的需要显示的长度。 在jdbc编程中需要给出x和y 一般是页数*页码&#xff0c;显示的长度。 代…

【(数据结构)—— 基于单链表实现通讯录】

&#xff08;数据结构&#xff09;—— 基于单链表实现通讯录 一.通讯录的功能介绍1.基于单链表实现通讯录(1). 知识要求(2). 功能要求 二.通讯录的代码实现1.通讯录的底层结构(单链表)(1).思路展示(2).底层代码实现(单链表)1.单链表头文件 —— &#xff08;函数的定义&#x…

【分类讨论】CF1747D

Problem - D - Codeforces 题意 思路 一看这个做法一定就是分类讨论 先判无解 显然&#xff0c;如果区间异或和不是0一定无解 如果区间内全是0&#xff0c;答案一定是0 之后怎么讨论 注意到需要讨论区间长度 如果长度是奇数&#xff0c;那么直接操作即可&#xff0c;答…

Top 10 数据恢复工具,可从iPhone 和 iPad 恢复数据

您是否正在寻找最好的 iPad 恢复软件&#xff0c;但不知道哪个选项最好&#xff1f;没有什么可担心的。本文将为您提供有关根据文件类型、设备兼容性和数据丢失原因等因素选择合适的 iPad 恢复软件的提示。此外&#xff0c;前 10 名提到的恢复软件是安全可靠的。 第 1 部分、iP…

ArmSoM-W3之RK3588硬编解码MPP环境配置

1. 简介 瑞芯微提供的媒体处理软件平台&#xff08;Media Process Platform&#xff0c;简称 MPP&#xff09;是适用于瑞芯微芯片系列的 通用媒体处理软件平台。该平台对应用软件屏蔽了芯片相关的复杂底层处理&#xff0c;其目的是为了屏蔽不 同芯片的差异&#xff0c;为使用者…

基于Java+Springboot+Vue前后端分离的商品库存销售管理系统

✌全网粉丝20W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取项目下载方式&#x1f345; 一、项目背景介绍&#xff1a; 当今社会&#xff0c;…