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

相关推荐
watermelonoops1 小时前
Deepin和Windows传文件(Xftp,WinSCP)
linux·ssh·deepin·winscp·xftp
疯狂飙车的蜗牛2 小时前
从零玩转CanMV-K230(4)-小核Linux驱动开发参考
linux·运维·驱动开发
远游客07134 小时前
centos stream 8下载安装遇到的坑
linux·服务器·centos
马甲是掉不了一点的<.<4 小时前
本地电脑使用命令行上传文件至远程服务器
linux·scp·cmd·远程文件上传
jingyu飞鸟4 小时前
centos-stream9系统安装docker
linux·docker·centos
超爱吃士力架5 小时前
邀请逻辑
java·linux·后端
LIKEYYLL6 小时前
GNU Octave:特性、使用案例、工具箱、环境与界面
服务器·gnu
云云3217 小时前
搭建云手机平台的技术要求?
服务器·线性代数·安全·智能手机·矩阵
云云3217 小时前
云手机有哪些用途?云手机选择推荐
服务器·线性代数·安全·智能手机·矩阵
cominglately7 小时前
centos单机部署seata
linux·运维·centos