记录:源码编译thingsboard并部署到阿里云
一、 编译源码
[图片一]
拉取源码,然后开启梯子,跳过test,直接在idea中编译安装。
由于之前安装过thingsboard-3.7.0,这次编译3.8.1就没有报任何错误,直接成功了
注意:在编译之前,需要将dao模块中的sql和cassandra文件夹拷贝到application模块的data文件夹下。
[图片二]
[图片三]
并且在application模块下的thingsboard.yaml文件中添加两个配置
[图片四]
还要检查连接的数据库是不是阿里云上的数据库
[图片五]
二、在阿里云上先配置环境
阿里云镜像是centos7
1. 在阿里云上安装jdk17
本来想练练docker的使用,所以我先在阿里云服务器上安装了docker和docker-compose。但是安装jdk时候觉得好麻烦,就直接传统方式安装,没有使用docker
2. 在阿里云上安装Postgresql数据库
也是手动安装方式,按照在网上找的教程一步一步安装,非常顺利,直接安装完成。
安装之后使用windows上的navicat测试,可以连接成功.
[图片六]
备注:我的PG数据库用户名和密码设置太过简单,而且在阿里云上完全放开了,相当于裸奔啊,结果被黑了。
然后,将源码中的\application\src\main\data 这个文件夹也放入到tb下,这是为了防止启动后创建租户时产生错误。
这里需要注意:通过jar方式部署,则需要先把底层的数据库表都建立起来,才能运行!所以我的做法是,在windows上的idea中先运行了以下ThingsboardInstallApplication,该应用是创建数据库表的。然后再去阿里云上运行打好的Jar包。指令:java -jar thingsboard-3.8.1-boot.jar 。
最后运行成功!不要忘记暴露端口号,我的端口号是8080,当然也可以改成80. 再通过浏览器访问,看看是否可行。
[图片八]
大功告成!
不过我后面还是要研究一下docker的用法,还有thingsboard编译部署的其他方式!
[图片一]
拉取源码,然后开启梯子,跳过test,直接在idea中编译安装。
由于之前安装过thingsboard-3.7.0,这次编译3.8.1就没有报任何错误,直接成功了
注意:在编译之前,需要将dao模块中的sql和cassandra文件夹拷贝到application模块的data文件夹下。
[图片二]
[图片三]
并且在application模块下的thingsboard.yaml文件中添加两个配置
[图片四]
还要检查连接的数据库是不是阿里云上的数据库
[图片五]
二、在阿里云上先配置环境
阿里云镜像是centos7
1. 在阿里云上安装jdk17
本来想练练docker的使用,所以我先在阿里云服务器上安装了docker和docker-compose。但是安装jdk时候觉得好麻烦,就直接传统方式安装,没有使用docker
2. 在阿里云上安装Postgresql数据库
也是手动安装方式,按照在网上找的教程一步一步安装,非常顺利,直接安装完成。
安装之后使用windows上的navicat测试,可以连接成功.
[图片六]
备注:我的PG数据库用户名和密码设置太过简单,而且在阿里云上完全放开了,相当于裸奔啊,结果被黑了。
修改postgres的密码。执行以下指令:
su -l postgres — 切换到Linux下的postgres用户
psql — 进入postgres数据库
alter user postgres with password ‘yourpassword’; — 修改用户postgres的密码,之前的太简单了
ALTER ROLE — 修改成功,会显示这个结果
修改之后再用navicat测试一下连接,证明是否真正修改成功!
三、在阿里云上使用jar方式部署
在第一步编译完成后,在thingsboard的application包下会生成target,在target下的thingsboard-3.8.1-boot.jar就是最终的安装包,将该包传入阿里云服务器上。
我是在阿里云的/root下新建了一个tb文件夹
然后,将源码中的\application\src\main\data 这个文件夹也放入到tb下,这是为了防止启动后创建租户时产生错误。
这里需要注意:通过jar方式部署,则需要先把底层的数据库表都建立起来,才能运行!所以我的做法是,在windows上的idea中先运行了以下ThingsboardInstallApplication,该应用是创建数据库表的。然后再去阿里云上运行打好的Jar包。指令:java -jar thingsboard-3.8.1-boot.jar 。
最后运行成功!不要忘记暴露端口号,我的端口号是8080,当然也可以改成80. 再通过浏览器访问,看看是否可行。
[图片八]
大功告成!
不过我后面还是要研究一下docker的用法,还有thingsboard编译部署的其他方式!