文章目录
ThingsBoard可通过安装包来安装,这里的安装方式是针对源码安装,从而可以修改代码,定制自己的个性化功能。
1. 依赖工具
- JDK
- Maven
- Nodejs
- Git
2. 编译项目
#拉取源码
git clone https://github.com/thingsboard/thingsboard.git
cd thingsboard
#查看所在分支版本
git checkout release-3.1
#编译打包
mvn clean install –DskipTests
3. 常见异常
3.1 gradle-6.3-bin.zip的异常
这个是gradle-6.3-bin.zip的下载出现了问题,手动用迅雷去下载或者通过其他途径获取这个包,然后放到以下目录,重新编译:
3.2 yarn install异常
这个是node的版本问题,我本机的node版本是:
可以将
- ui-ngx\pom.xml
- msa\js-executor\pom.xml
- msa\web-ui\pom.xml
这三个文件(改3个文件是因为后面可能还会遇到这个问题)里的nodeVersion改成和本机一样,然后重新编译
<nodeVersion>v12.18.4</nodeVersion>
<yarnVersion>v1.22.4</yarnVersion>
4. 导入数据
- 1)安装PostgreSQL,最好版本为12;
PostgreSQL的下载链接:https://www.enterprisedb.com/downloads/postgres-postgresql-downloads
注: EDB不再为PostgreSQL 11和更高版本提供Linux安装程序
Ubuntu 下 PostgreSQL 12 的安装方式如下:
# 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
- 2)新建名为 thingsboard 的数据库;
数据库在linux系统上可参考以下命令:
#创建密码
sudo su - postgres
psql
\password
\q
#新建数据库
psql -U postgres -d postgres -h 127.0.0.1 -W
CREATE DATABASE thingsboard;
\q
- 3)用IDEA导入刚编译好的项目
- 4)修改 thingsboard\application\src\main\resources\thingsboard.yml 里的数据源信息
datasource:
driverClassName: "${SPRING_DRIVER_CLASS_NAME:org.postgresql.Driver}"
url: "${SPRING_DATASOURCE_URL:jdbc:postgresql://localhost:5432/thingsboard}"
username: "${SPRING_DATASOURCE_USERNAME:postgres}"
password: "${SPRING_DATASOURCE_PASSWORD:123456}"
hikari:
maximumPoolSize: "${SPRING_DATASOURCE_MAXIMUM_POOL_SIZE:16}"
- 5)将sql文件 dao/src/main/resources/sql 拷贝到 application/src/main/data/sql
- 6)执行安装程序ThingsboardInstallApplication.java
运行后会自动导入数据库数据
可以看出实际导入了以上3个数据库文件,所以不想用这个安装程序的话,也可以通过其他途径导入这3个sql即可。
5. 启动项目
- 1)如果项目里的log语句都警告成红色的话,请安装lombok插件;
- 2)启动ThingsboardServerApplication.java
- 3)进入页面
http://localhost:8080/
只有系统管理员帐号,其他的租户等账号需要自己新建。
帐号:sysadmin@thingsboard.org
密码:sysadmin
6. 部署
上面是在IDEA里以源码的形式运行,我们修改代码后,可以以同样的方式编译打包项目,然后会在application下生成各类打包好的Thingsboard包,然后按需求部署。
6.1 在Linux下的部署
将 thingsboard-3.1.1-boot.jar 拷到linux的对应位置,执行
java -jar thingsboard-3.1.1-boot.jar
如果想常驻后台运行,则执行:
nohup java -jar thingsboard-3.1.1-boot.jar &
如果想修改thingsboard.yml 配置,则进行如下操作:
#解压
unzip thingsboard-3.1.1-boot.jar -d temp
cd temp
#修改配置
vim BOOT-INF/classes/thingsboard.yml
#把新的文件打包到thingsboard-3.1.1-boot-fix.jar
jar -cvfM0 thingsboard-3.1.1-boot-fix.jar BOOT-INF/classes BOOT-INF/lib META-INF org
#运行程序
java -jar thingsboard-3.1.1-boot-fix.jar