摘要:本文为有二次开发需求的同学准备,可以修改源码后编译运行。具体操作即可在端口启动前端服务。
本文为有thingsboard二次开发需求的同学准备,可以修改源码后编译运行。
准备工作 一台4Gb内存以上的服务器(官方推荐8Gb以上,但实测以下配置即可正常运行) Centos7系统 打开8080端口 安装wgetsudo yum install -y wget
更新 EPEL releasesudo yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
开始安装 安装Java JDK-1.8sudo yum install java-1.8.0-openjdk
sudo update-alternatives --config java
查看Java是否安装成功java -version
期望输出为openjdk version "1.8.0_xxx" OpenJDK Runtime Environment (...) OpenJDK 64-Bit Server VM (build ...)如果输出不正常则需要配置环境变量
vim /etc/profile
export JAVA_HOME = ${你的安装路径不带bin}
$JAVA_HOME/bin
安装最新版Maven(直接用yum安装可能会导致版本过低无法编译) 下载wget https://www-eu.apache.org/dist/maven/maven-3/3.6.0/binaries/apache-maven-3.6.0-bin.tar.gz
解压缩tar xvf apache-maven-3.6.0-bin.tar.gz -C /usr/lib/
配置环境变量vi /etc/profile
添加以下代码M2_HOME="/usr/lib/apache-maven-3.6.0" export M2_HOME M2="$M2_HOME/bin" MAVEN_OPTS="-Xms256m -Xmx512m" export M2 MAVEN_OPTS PATH=$M2:$PATH export PATH加载更新后的profile
. /etc/profile
source /etc/profile
查看Maven是否配置成功mvn -version
Apache Maven 3.6.0 (97c98ec64a1fdfee7767ce5ffb20918da4f719f3; 2018-10-24T23:41:47+05:00) Maven home: /usr/lib/apache-maven-3.6.0 Java version: 1.8.0_191, vendor: Oracle Corporation, runtime: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.191.b12-1.el7_6.x86_64/jre Default locale: en_US, platform encoding: UTF-8 OS name: "linux", version: "3.10.0-957.el7.x86_64", arch: "amd64", family: "unix"安装PostgreSQL 更新yum
sudo yum update
安装RPMsudo yum install https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
安装Packagessudo yum install postgresql96-server postgresql96-contrib
初始化PostgreSQLsudo /usr/pgsql-9.6/bin/postgresql96-setup initdb
启动服务sudo systemctl start postgresql-9.6
设置PostgreSQL为开机启动sudo systemctl enable postgresql-9.6
配置PostgreSQL密码 切换用户postgressudo su - postgres
进入PostgreSQLpsql
设置密码(注意""也需要输入)password
记住设置的密码并退出q
更改PostgreSQL配置项sudo vim /var/lib/pgsql/9.6/data/pg_hba.conf
更改以下行# IPv4 local connections: host all all 127.0.0.1/32 ident为
# IPv4 local connections: host all all 127.0.0.1/32 md5重启PostgreSQL
sudo systemctl restart postgresql-9.6.service
创建database 进入数据库psql
psql -U postgres -d postgres -h 127.0.0.1 -W
创建thingsboard数据库并退出CREATE DATABASE thingsboard;
q
yum install git
Clone源码cd ~
git clone git@github.com:thingsboard/thingsboard.git
cd thingsboard
git checkout release-2.3
vim pom.xml
com.mycila license-maven-plugin 3.0 ....
:wq
修改Thingsboard数据库相关配置cd ~/thingsboard/application/src/main/resources
vim thingsboard.yml
# HSQLDB DAO Configuration #spring: # data: # jpa: # repositories: # enabled: "true" # jpa: # hibernate: # ddl-auto: "validate" # database-platform: "${SPRING_JPA_DATABASE_PLATFORM:org.hibernate.dialect.HSQLDialect}" # datasource: # driverClassName: "${SPRING_DRIVER_CLASS_NAME:org.hsqldb.jdbc.JDBCDriver}" # url: "${SPRING_DATASOURCE_URL:jdbc:hsqldb:file:${SQL_DATA_FOLDER:/tmp}/thingsboardDb;sql.enforce_si#ze=false;hsqldb.log_size=5}" # username: "${SPRING_DATASOURCE_USERNAME:sa}" # password: "${SPRING_DATASOURCE_PASSWORD:}" # PostgreSQL DAO Configuration spring: data: sql: repositories: enabled: "true" sql: hibernate: ddl-auto: "validate" database-platform: "${SPRING_JPA_DATABASE_PLATFORM:org.hibernate.dialect.PostgreSQLDialect}" 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:postgres}"
password: "${SPRING_DATASOURCE_PASSWORD:postgres}"
跳过js-executor和web-ui的windows编译 分别修改以下两个文件vim msa/js-executor/pom.xml
vim msa/web-ui/pom.xml
编译thingsboard源码org.apache.maven.plugins maven-assembly-plugin 3.0.0 ${pkg.name} src/main/assembly/windows.xml assembly package single
cd ~/thingsboard
耗时较长需要耐心等待mvn clean install -DskipTests -X
出现如下提示则编译成功(缺一不可) 安装编译好的tingsboard 找到编译好的安装文件cd application/target
运行安装sudo rpm -Uvh thingsboard.rpm
运行脚本sudo /usr/share/thingsboard/bin/install/install.sh --loadDemo
启动服务sudo service thingsboard start
完成 至此从配置环境到源码编译运行的Thingsboard运行成功 可以访问localhost:8080服务器ip:8080访问页面 注意事项 前端的同学注意具体操作:
cd ~/thingsboard/ui
maven install -P npm-start
即可在3000端口启动前端服务。
vim ~/thingsboard/ui/server.js
const forwardHost = "localhost"; const ruleNodeUiforwardHost = "localhost";
psql -d 数据库名称 -U 用户名 -f xxx.sql
psql -d 数据库名称 -f xxx.sql
删除数据库drop database 数据库名称
Thingsboard服务启动/停止sudo service thingsboard [start | stop]
查看Thingsboard错误日志cat /var/log/thingsboard/thingsboard.log | grep ERROR
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/105639.html
摘要:本文为有二次开发需求的同学准备,可以修改源码后编译运行。具体操作即可在端口启动前端服务。 本文为有thingsboard二次开发需求的同学准备,可以修改源码后编译运行。 准备工作 一台4Gb内存以上的服务器(官方推荐8Gb以上,但实测以下配置即可正常运行) showImg(https://segmentfault.com/img/bVbu3eN?w=328&h=86); Centos7...
摘要:文章目录前言从上下源码后运行报错不支援验证类型。解决办法就是去找到下载,注意选择源码版本下载,如下图。入门教程本地环境搭建和源码编译安装,献给编译失败的同学,教程不断优化附录 ...
摘要:物联网平台编译一步到位物联网平台编译一步到位简介项目前置准备安装安装将放入本地缓存配置镜像地址编译运行物联网平台编译一步到位先上编译结果,耗时分秒简介是一个开源物联网平台,可实现物联网项目的快速开发管理和扩展。 ...
摘要:作为一个开源且免费的服务器,常用来作为开发的工具。使用登录服务器,参考使用密钥对连接实例。默认是以一般用户运行,将网站代码权限改为,执行命令重启。在浏览器地址栏中输入公网地址,完成验证。使用服务为实例配置网站及绑定域名。Tomcat 作为一个开源且免费的 Java Web 服务器,常用来作为 Web 开发的工具。它可以托管由 Servlet、JSP 页面(动态内容)、HTML 页面、JS、样...
阅读 4979·2021-11-25 09:43
阅读 1684·2021-10-27 14:18
阅读 1054·2021-09-22 16:03
阅读 1348·2019-08-30 13:19
阅读 1571·2019-08-30 11:15
阅读 1644·2019-08-26 14:04
阅读 3123·2019-08-23 18:40
阅读 1164·2019-08-23 18:17