先说明一下内网部署的环境,我这里是安装的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目录下
然后我们把文件下载,上传到内网服务器,上传目录也自己定没有要求
上传后我们安装的时候是有一个先后顺序,要不会报错,找不到依赖库,按照下列顺序执行
-
rpm -ivh lz4-1.8.3-3.el8_4.x86_64.rpm
-
rpm -ivh postgresql16-libs-16.3-3PGDG.rhel8.x86_64.rpm
-
rpm -ivh postgresql16-16.3-3PGDG.rhel8.x86_64.rpm
-
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
我们先用浏览器下载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