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

相关推荐
。puppy11 分钟前
HCIP--3实验- 链路聚合,VLAN间通讯,Super VLAN,MSTP,VRRPip配置,OSPF(静态路由,环回,缺省,空接口),NAT
运维·服务器
颇有几分姿色20 分钟前
深入理解 Linux 内存管理:free 命令详解
linux·运维·服务器
AndyFrank1 小时前
mac crontab 不能使用问题简记
linux·运维·macos
筱源源1 小时前
Kafka-linux环境部署
linux·kafka
EricWang13581 小时前
[OS] 项目三-2-proc.c: exit(int status)
服务器·c语言·前端
算法与编程之美2 小时前
文件的写入与读取
linux·运维·服务器
xianwu5432 小时前
反向代理模块
linux·开发语言·网络·git
Amelio_Ming2 小时前
Permissions 0755 for ‘/etc/ssh/ssh_host_rsa_key‘ are too open.问题解决
linux·运维·ssh
Ven%3 小时前
centos查看硬盘资源使用情况命令大全
linux·运维·centos
JaneJiazhao3 小时前
HTTPSOK:SSL/TLS证书自动续期工具
服务器·网络协议·ssl