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

news2024/10/7 6:26:30

记录编译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.coloradmin.cn/o/1118092.html

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

相关文章

Pandas数据处理分析系列3-数据如何预览

Pandas-数据预览 Pandas 导入数据后,我们通常需要对数据进行预览,以便更好的进行数据分析。常见数据预览的方法如下: ①head() 方法 功能:读取数据的前几行,默认显示前5行 语法结构:df.head(行数) df1=pd.read_excel("销售表.xlsx",sheet_name="手机销…

AUTOSAR EcuM休眠阶段的具体实现详解

在AUTOSAR EcuM SWS里对于Sleep阶段做出了一个宏观的流程设计,如下: 从BswM过渡到EcuM的规则仲裁这里暂时不讲,有兴趣可以看之前我遇到的工程问题分析,特别是BswM状态迁移图: BswM状态分析 今天主要聊AUTOSAR规定的sleep两种模式:Halt和Poll,以及这两种模式下,…

【趣味随笔】农业机器人的种类与发展前景

📢:如果你也对机器人、人工智能感兴趣,看来我们志同道合✨ 📢:不妨浏览一下我的博客主页【https://blog.csdn.net/weixin_51244852】 📢:文章若有幸对你有帮助,可点赞 👍…

在Mac上使用安卓桌面模式

在安装Homeblew的基础上 替换国内源 export HOMEBREW_API_DOMAIN"https://mirrors.tuna.tsinghua.edu.cn/homebrew-bottles/api" export HOMEBREW_BREW_GIT_REMOTE"https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/brew.git" brew update 安装Scrcpy …

【2023_10_21_计算机热点知识分享】:机器学习中的神经网络

今天的分享主题是机器学习中的神经网络。神经网络是一种模拟人类神经系统的计算模型,它由一系列的神经元组成,每个神经元接收一组输入,经过计算后产生一个输出。神经网络的学习过程是通过调整神经元之间的连接权重来实现的,这个过…

Unity--用户界面

目录 “使用工具栏”: “层次结构”窗口: 层次结构窗口 制作子GameObject “游戏”视图: “场景视图“: ”项目窗口“: 项目窗口工具栏: "Inspector" 窗口: Inspector 游戏…

UG\NX二次开发 实时查看 NX 日志文件

文章作者:里海 来源网站:王牌飞行员_里海_里海NX二次开发3000例,里海BlockUI专栏,C\C++-CSDN博客 感谢粉丝订阅 感谢 a18037198459 订阅本专栏,非常感谢。 简介 实时查看 NX 日志文件,有助于分析保存时间等。打开WindowsPowerShell并实时获取日志文件内容的小功能。 效果 代…

力扣每日一题52:N皇后问题||

题目描述: n 皇后问题 研究的是如何将 n 个皇后放置在 n n 的棋盘上,并且使皇后彼此之间不能相互攻击。 给你一个整数 n ,返回 n 皇后问题 不同的解决方案的数量。 示例 1: 输入:n 4 输出:2 解释&#…

Pyside6 QFileDialog

Pyside6 QFileDialog Pyside6 QFileDialog常用函数getOpenFileNamegetOpenFileNamesgetExistingDirectorygetSaveFileName 程序界面程序主程序 Pyside6 QFileDialog提供了一个允许用户选择文件或目录的对话框。关于QFileDialog的使用可以参考下面的文档 https://doc.qt.io/qtfo…

Easyx趣味编程7,鼠标消息读取及音频播放

hello大家好,这里是dark flame master,今天给大家带来Easyx图形库最后一节功能实现的介绍,前边介绍了绘制各种图形及键盘交互,文字,图片等操作,今天就可以使写出的程序更加生动且容易操控。一起学习吧&…

CUDA编程入门系列(十)并行规约

一、什么是规约&#xff1f; 规约&#xff0c;用白话来说&#xff0c;就是将多个值变成一个值的操作&#xff0c;如向量求和&#xff0c;向量内积操作。 以向量求和为例&#xff0c;如果使用串行规约的话&#xff0c;那么就是依靠for循环来进行操作 for(int i 0; i < nums.…

泛微 E-Office download.php 任意文件读取漏洞

一、漏洞描述 泛微E-Office是一款企业级的全流程办公自动化软件&#xff0c;它包括协同办公、文档管理、知识管理、工作流管理等多个模块&#xff0c;涵盖了企业日常工作中的各个环节。泛微E-Office能够帮助企业实现全流程数字化、自动化&#xff0c;提高工作效率和管理质量&a…

#define 宏定义看这一篇文章就够了

前言&#xff1a;在c/c学习的过程中&#xff0c;宏定义&#xff08;#define&#xff09;是作为初学者学习到的为数不多的预处理指令&#xff0c;在学习的时候我们被告知他可以帮助我们更高效的写程序&#xff0c;可以增加程序的可读性&#xff0c;但宏定义&#xff08;#define&…

电脑出现xinput1_3.dll的错误提示怎么办?有什么办法可以解决

电脑如果缺失了xinput1_3.dll还是一件比较复杂的事情&#xff0c;那么电脑出现xinput1_3.dll的错误提示怎么办&#xff0c;又有什么办法可以解决xinput1_3.dll&#xff1f;今天我们就来聊聊xinput1_3.dll丢失的解决办法&#xff0c;来看看都有哪些办法可以解决吧。 一.常见的问…

[swift刷题模板] 树状数组(BIT/FenwickTree)

[TOC]([swift刷题模板] 树状数组(BIT/FenwickTree) ) 一、 算法&数据结构 1. 描述 [python刷题模板] 树状数组 二、 模板代码 1. 单点赋值(增加)&#xff0c;区间求和(PURQ) 例题: 307. 区域和检索 - 数组可修改 class BIT {var c: [Int]var n: Int init(_ n: Int){c…

13 Multi-Head Self-Attention(从空间角度解释为什么做多头)

博客配套视频链接: https://space.bilibili.com/383551518?spm_id_from=333.1007.0.0 b 站直接看 配套 github 链接:https://github.com/nickchen121/Pre-training-language-model 配套博客链接:https://www.cnblogs.com/nickchen121/p/15105048.html 上节课回顾 0:40 At…

java内部类学习总结/lambda表达式总结

使用内部类的情况 此时如果不使用内部类,下图会出现new 了两次Outer的情况 如果只想new 一次Outer 代码会很繁琐(如下),所以内部类可以很方便的访问外部类的一些私有属性,外部类也可方便访问内部类的私有属性 内部类说明 如果内部类没有追加 static 之前要想获取内部类的对象必…

Origami Studio for Mac:塑造未来,掌握原型设计之巅

在当今高度竞争的设计领域&#xff0c;原型设计的重要性不言而喻。它不仅是沟通想法&#xff0c;也是测试和改进设计的关键环节。而现在&#xff0c;一款强大的原型设计工具——Origami Studio for Mac&#xff0c;正在席卷设计界&#xff0c;以其独特的功能和卓越的性能&#…

【Javascript】基础数据类型

目录 基础数据类型 1.number 字面量声明 数字对象方式声明 整数判断 指定返回小数位数 NaN-表示非数字值 浮点精度 解决误差 String 字面量声明 数字对象声明 连接运算符 获取长度 大小写转换 转换成大写 转换成小写 ​编辑 移除空白 获取单字符 ​编辑 截…

循环队列----数据结构

缘由 在队列的顺序存储中&#xff0c;采用第二种出队的方式&#xff0c;将头指针 1 &#xff0c;可以避免元素的移动&#xff0c;但是这样也出现了一个问题 "假溢出" &#xff0c;如图&#xff1a; 当出现这种情况时&#xff1a;头指针和尾指针都指向了不可访问的地…