Linux内网环境部署thingsboard(离线部署)

先说明一下内网部署的环境,我这里是安装的thingsboard3.6.4 下面所有环境包的版本都是基于这个版本

我们需要安装jdk11,postgres数据库,这里注意下jdk必须使用rpm方式安装,要不后面安装Thingsboard会提示你没有检测到jdk.

下面我们就一步一步来

1.先下载JDK11

我们打开openjdk官网下载地址Java Archive Downloads - Java SE 11,一定要下载这rpm包

下载后上传你的内网服务器,上传地址自己定,上传后使用rpm安装,命令如下:

rpm -ivh jdk-11.0.23_linux-x64_bin.rpm

安装后等待几秒中,然后可以用java -version查看一下是否安装成功

如图所示安装成功

然后我们需要配置环境变量,执行下面命令

编辑配置文件 vi /etc/profile

在文件最下方输入下面内容,并保存退出

export JAVA_HOME=/usr/java/jdk-11

export PATH=PATH:JAVA_HOME/bin

export CLASSPATH=.:JAVA_HOME/lib/dt.jar:JAVA_HOME/lib/tools.jar

这里只需要修改一下jdk-11这个为你自己安装的版本,或者你可以到/usr/java/下看一下,默认安装都在这个目录

生效环境变量 source /etc/profile

到此我们就完成了jdk的安装

2.安装postgres

这里是我下载好的资源https://download.csdn.net/download/JavaLLU/89618529,如果你用的也是16可以直接下载这个

因为我们是离线安装,所以要提前在有网络的环境下将数据库的所有依赖都下载好

我这安装的pg16,一共有4个需要下载的文件

我们先在有网络环境的电脑执行下方命令

先查看一下版本:yum search postgres

创建版本文件夹:mkdir psql16

下载数据库依赖相关文件:

yum install --downloadonly --downloaddir=psql16 postgresql16 postgresql16-server

把相关文件下载到我们新建的psql16目录下

然后我们把文件下载,上传到内网服务器,上传目录也自己定没有要求

上传后我们安装的时候是有一个先后顺序,要不会报错,找不到依赖库,按照下列顺序执行

  1. rpm -ivh lz4-1.8.3-3.el8_4.x86_64.rpm

  2. rpm -ivh postgresql16-libs-16.3-3PGDG.rhel8.x86_64.rpm

  3. rpm -ivh postgresql16-16.3-3PGDG.rhel8.x86_64.rpm

  4. rpm -ivh postgresql16-server-16.3-3PGDG.rhel8.x86

将上面全部安装好后,我们需要初始化数据库,每个版本名字不一样,改成自己的就行

在/usr/pgsql-16/bin 执行 postgresql-16-setup initdb

然后我们启动数据库。

这里会用到这几个命令

systemctl status postgresql-16 #查看数据库启动状态

复制代码
systemctl enable postgresql-16.service   #设置数据库的开机启动
复制代码
systemctl start postgresql-16   #启动数据库

给数据库设置密码

切换数据库用户 su - postgres

输入psql

输入 \password

输入俩次密码 postgres (这里设置自己的密码就可以)

输入\q

然后切回原来用户,编辑一下环境变量

vi ~/.bash_profile

export LD_LIBRARY_PATH=/usr/pgsql-16/lib

export PATH=$PATH:/usr/pgsql-16/bin

source ~/.bash_profile

到这我们就完成了postgres离线安装,已经离完成差一步了。继续坚持一下

3.安装部署thingsboard

官网:CentOS安装 | ThingsBoard社区版

我们先用浏览器下载rpm文件,直接在浏览器输入下面连接会自动下载,要下载那个版本将版本号修改了就可以

复制代码
 https://github.com/thingsboard/thingsboard/releases/download/v3.6.4/thingsboard-3.6.4.rpm

下载后将包上传到内网服务器,用下面命令安装

sudo rpm -Uvh thingsboard-3.6.4.rpm

安装完成后,我们需要创建thingsboard数据,执行下面命令

psql -U postgres -d postgres -h 127.0.0.1 -W

输入密码后执行下面命令

复制代码
CREATE DATABASE thingsboard;
复制代码
\q
复制代码
然后执行以下脚本安装ThingsBoard服务并初始化演示数据

sudo /usr/share/thingsboard/bin/install/install.sh --loadDemo

查看防火墙状态: systemctl status firewalld

如果是关闭状态下,我们先启动,已启动的不需要在启动

启动:service firewalld start

开通8080端口,因为thingsboard前段启动是8080端口,并重启

复制代码
sudo firewall-cmd --zone=public --add-port=8080/tcp --permanent
复制代码
重启:sudo firewall-cmd --reload

最后启动thingsboard服务

sudo service thingsboard start

这个命令要是不行就用下面这个

/bin/systemctl start thingsboard.service

到这我们就完成了离线部署。启动服务器后在浏览器使用

http://ip:8080进行访问即可

默认的用户密码如下

系统管理员: sysadmin@thingsboard.org / sysadmin

租户管理员: tenant@thingsboard.org / tenant

客户: customer@thingsboard.org / customer

相关推荐
tan77º12 分钟前
【项目】分布式Json-RPC框架 - 项目介绍与前置知识准备
linux·网络·分布式·网络协议·tcp/ip·rpc·json
TPBoreas1 小时前
Jenkins启动端口修改失败查找日志
运维·服务器·jenkins
正在努力的小河3 小时前
Linux设备树简介
linux·运维·服务器
荣光波比3 小时前
Linux(十一)——LVM磁盘配额整理
linux·运维·云计算
小张快跑。3 小时前
Tomcat下载、安装及配置详细教程
java·服务器·tomcat
LLLLYYYRRRRRTT3 小时前
WordPress (LNMP 架构) 一键部署 Playbook
linux·架构·ansible·mariadb
轻松Ai享生活4 小时前
crash 进程分析流程图
linux
没有不重的名么4 小时前
Tmux Xftp及Xshell的服务器使用方法
服务器·人工智能·深度学习·机器学习·ssh
wdxylb4 小时前
云原生俱乐部-杂谈1
服务器·云原生
大路谈数字化5 小时前
Centos中内存CPU硬盘的查询
linux·运维·centos