当前位置: 首页 > Web前端 > HTML5

Centos7环境ThingsBoard

时间:2023-04-05 23:17:43 HTML5

源码部署本文是为有thingsboard二次开发需求的同学准备的。您可以修改源代码并编译运行。准备工作一台内存大于4Gb的服务器(官方推荐8Gb以上,但以下配置可以正常运行)Centos7系统开启8080端口安装wgesudoyuminstall-ywgetupdateEPELreleasesudoyuminstall-yhttps://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm开始安装安装JavaJDK-1.8sudoyuminstalljava-1.8.0-openjdksudoupdate-alternatives--configjava查看是否安装了Javasuccessfullyjava-versionTheexpectedoutputisopenjdkversion"1.8.0_xxx"OpenJDKRuntimeEnvironment(...)OpenJDK64-BitServerVM(build...)如果输出不正常,需要配置环境变量vim/etc/profileexportJAVA_HOME=${你的安装路径不包含bin}在PATH后添加$JAVA_HOME/bin安装最新版本的Maven(直接用yum安装可能会导致版本太低无法编译)下载wgethttps://www-eu.apache.org/dist/maven/maven-3/3.6.0/binaries/apache-maven-3.6.0-bin.tar.gz解压tarxvfapache-maven-3.6.0-bin。tar.gz-C/usr/lib/配置环境变量vi/etc/profile添加如下代码M2_HOME="/usr/lib/apache-maven-3.6.0"exportM2_HOMEM2="$M2_HOME/bin"MAVEN_OPTS="-Xms256m-Xmx512m"exportM2MAVEN_OPTSPATH=$M2:$PATHexportPATH加载更新的配置文件。/etc/profile或source/etc/profile查看Maven是否配置成功mvn-version如果返回如下,说明成功ApacheMaven3.6.0(97c98ec64a1fdfee7767ce5ffb20918da4f719f3;2018-10-24T23:41:47+05:00)Maven主页:/usr/lib/apache-maven-3.6.0Java版本:1.8.0_191,供应商:OracleCorporation,运行时:/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.191.b12-1.el7_6.x86_64/jre默认语言环境:en_US,平台编码:UTF-8OS名称:“linux”,版本:“3.10.0-957.el7.x86_64”,arch:“amd64”,系列:“unix”安装PostgreSQL更新yumsudoyum更新安装RPMsudoyum安装https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm安装包sudoyuminstallpostgresql96-serverpostgresql96-contribinitializePostgreSQLsudo/usr/pgsql-9.6/bin/postgresql96-setupinitdbstartservicesudosystemctlstartpostgresql-9.6设置PostgreSQL启动sudosystemctlenablepostgresql-9.6配置PostgreSQL密码切换用户postgressudosu-postgresenterPostgreSQLpsqlsetpassword(注意'\'也需要输入)\password记住设置的密码并退出\q更改PostgreSQL配置项sudovim/var/lib/pgsql/9.6/data/pg_hba.conf更改以下行#IPv4localconnections:hostallall127。0.0.1/32identis#IPv4localconnections:hostallall127.0.0.1/32md5重启PostgreSQLsudosystemctlrestartpostgresql-9.6.service创建数据库,进入数据库如果是postgres用户下,可以直接进入psql,否则输入psql-Upostgres-dpostgres-h127.0.0.1-WCreatethingsboarddatabaseandexitCREATEDATABASEthingsboard;\qDownloadThingsboardsourcecodeinstallgityuminstallgitClonesourcecodecd~gitclonegit@github.com:thingsboard/thingsboard.git切换版本(这里以2.3版本为例)cdthingsboardgitcheckoutrelease-2.3更改Thingsboard配置项绕过License选项vimpom.xmlfindcom.mycilalicense-maven-plugin从第275行开始artifactId>3.0....注释掉保存并退出vim:wqmodifyThingsboard数据库相关配置进入目录cd~/thingsboard/application/src/main/resourcesvimthingsboard.yml从297行起,注解掉HSQLDB部分,取消注解PostgreSQL部分#HSQLDBDAOConfiguration#spring:#data:#j:#启用:“真”#jpa:#休眠:#ddl-auto:“验证”#数据库平台:“${SPRING_JPA_DATABASE_PLATFORM:org.hibernate.dialect.HSQLDialect}”#数据源:#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}"#用户名:“${SPRING_DATASOURCE_USERNAME:sa}”#密码:“${SPRING_DATASOURCE_PASSWORD:}”#PostgreSQLDAO配置spring:data:sql:repositories:enabled:"true"sql:hibernate:ddl-auto:"validate"database-platform:"${SPRING_JPA_DATABASE_PLATFORM:org.hibernate.dialect.PostgreSQLDialect}"数据源:driverClassName:"${SPRING_DRIVER_CLASS_NAME:org.postgresql.Driver}"url:"${SPRING_DATASOURCE_URL:jdbc:postgresql://localhost:5432/thingsboard}"用户名:"${SPRING_DATASOURCE_USERNAME:postgres}"密码:"${SPRING_DATASOURCE_PASSWORD:postgres}"修改该行数据库登录密码为上一步设置的密码password:"${SPRING_DATASOURCE_PASSWORD:postgres}"跳过js-executor和web-ui的windows编译分别修改以下两个文件vimmsa/js-executor/pom.xmlvimmsa/web-ui/pom.xml注释掉以下内容(两个文件都要改)org.apache.maven.pluginsmaven-assembly-plugin3.0.0${pkg.name}src/main/assembly/windows.xmlassemblypackage<goals>single编译thingsboard源码cd~/thingsboard耗时较长,需要耐心等待mvncleaninstall-DskipTests-X出现如下提示,则编译成功(两者缺一不可)。安装编译好的tingsboard,找到编译好的安装文件,cdapplication/target,运行安装sudorpm-Uvhthingsboard.rpm,运行脚本sudo/usr/share/thingsboard/bin/install/install.sh--loadDemostartservicesudoservicethingsboardstart至此完成thingsboard从配置环境到源码编译运行运行成功可以访问localhost:8080serverip:8080访问页面注意事项前端同学注意thingsboard有热更新服务,可以用来开发具体操作:cd~/thingsboard/uimaveninstall-Pnpm-start在3000端口启动前端服务。但需要注意的是,如果前后端不在同一个域名下,比如后端服务在云端,前端服务在本地,则需要修改以下文件中的内容vim~/thingsboard/ui/server.jsconstforwardHost='localhost';construleNodeUiforwardHost='localhost';把localhost改成你的域名或者ip追加一些相关的命令PostgreSQLimportSQLpsql-d数据库名-U用户名-fxxx.sql如果当前用户是postgrespsql-d数据库名-fxxx.sqldeletedatabase输入数据库回车dropdatabase数据库名称启动/停止Thingsboard服务sudoservicethingsboard[start|停止]查看Thingsboard错误日志cat/var/log/thingsboard/thingsboard.log|错误