前提:win10环境中正常编译完成并且生成 thingsboard.deb 文件
工具准备:
1. WinSCP (用来将文件复制到ubuntu服务器中)
工具winscp文件百度云地址
链接:https://pan.baidu.com/s/10qfvNlWwCZIXJMKhd9QbFg
提取码:x6xu
2. xshell 或者服务器自带命令行工具
3. 连接服务器
步骤:
步骤1. 安装Java 11(OpenJDK)
sudo apt update
sudo apt install openjdk-11-jdk
使用以下命令检查安装:
java -version
步骤2. 将编译好的deb文件复制到服务器中并安装
源码编译完成之后在thingsboard 源码目录的application-> target-> 复制如图下的文件复制到所要部署的ubuntu目录下
复制到服务器中如图下所示:
安装服务
sudo dpkg -i thingsboard.deb
安装成功
步骤3.PostgreSQL配置数据库
sudo apt install -y wget
我是按照第一个方式进行安装的postgresql
PostgreSQL安装
# install **wget** if not already installed:
sudo apt install -y wget
# import the repository signing key:
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
# add repository contents to your system:
RELEASE=$(lsb_release -cs)
echo "deb http://apt.postgresql.org/pub/repos/apt/ ${RELEASE}"-pgdg main | sudo tee /etc/apt/sources.list.d/pgdg.list
# install and launch the postgresql service:
sudo apt update
sudo apt -y install postgresql-12
sudo service postgresql start
安装PostgreSQL完成之后,创建一个新用户或为主要用户设置密码。
sudo su - postgres
psql
#输入\password 然后输入密码确认密码
\password
#输入\q 退出
\q
然后,按“Ctrl+D”返回主用户控制台并连接到数据库以创建Thingsboard DB:
psql -U postgres -d postgres -h 127.0.0.1 -W
CREATE DATABASE thingsboard;
\q
步骤4:ThingsBoard配置
编辑ThingsBoard配置文件
sudo nano /etc/thingsboard/conf/thingsboard.conf
将“PUT_YOUR_POSTGRESQL_PASSWORD_HERE”替换postgres用户真实密码
全部复制到thingsboard.conf中
# DB Configuration
export DATABASE_ENTITIES_TYPE=sql
export DATABASE_TS_TYPE=sql
export SPRING_JPA_DATABASE_PLATFORM=org.hibernate.dialect.PostgreSQLDialect
export SPRING_DRIVER_CLASS_NAME=org.postgresql.Driver
export SPRING_DATASOURCE_URL=jdbc:postgresql://localhost:5432/thingsboard
export SPRING_DATASOURCE_USERNAME=postgres
export SPRING_DATASOURCE_PASSWORD=PUT_YOUR_POSTGRESQL_PASSWORD_HERE
export SPRING_DATASOURCE_MAXIMUM_POOL_SIZE=5
# Specify partitioning size for timestamp key-value storage. Allowed values: DAYS, MONTHS, YEARS, INDEFINITE.
export SQL_POSTGRES_TS_KV_PARTITIONING=MONTHS
步骤5:[可选]低性能配置(1GB内存)
编辑ThingsBoard配置文件
sudo nano /etc/thingsboard/conf/thingsboard.conf
将以下行添加到配置文件。
# Update ThingsBoard memory usage and restrict it to 256MB in /etc/thingsboard/conf/thingsboard.conf
export JAVA_OPTS="$JAVA_OPTS -Xms256M -Xmx256M"
步骤6. 运行安装脚本
安装ThingsBoard服务并更新数据库配置后,您可以执行以下脚本:
# --loadDemo option will load demo data: users, devices, assets, rules, widgets.
sudo /usr/share/thingsboard/bin/install/install.sh --loadDemo
此时大概率会出错 提示: install.sh: No such file or directory
原因是因为install.sh thingsboard.yml,thingsboard.conf. 格式的问题 需要将格式转化为unix 格式修改方式下述所示:
sudo vim /usr/share/thingsboard/conf/thingsboard.conf
sudo vim /usr/share/thingsboard/conf/thingsboard.yml
sudo vim /usr/share/thingsboard/bin/install/install.sh
上面三个文件都要进行转换为unix格式
说明成功
unable to execute ./install.sh: No such file or directory
使用sudo对文件的用vim打开该sh文件,输入:set ff ,显示fileformat=unix,说明没有问题(如果显示fileformat=dos,则有问题,使用命令:set ff=unix 重新设置下文件格式再 \wq 保存退出)。
这时再执行成功了。
# --loadDemo option will load demo data: users, devices, assets, rules, widgets.
sudo /usr/share/thingsboard/bin/install/install.sh --loadDemo
步骤7. 启动服务
执行以下命令以启动ThingsBoard:
sudo service thingsboard start
启动后,您将可以使用以下链接打开Web UI:
http://你的服务器地址:8080/
服务器地址8080端口记得开(我是腾讯云服务器添加安全规则)
大功告成!
搞了好久终于成功了 希望能帮助到大家!