后端运行
大约 3 分钟
一、创建数据库
创建FastBee数据库,字符集使用utf8或utf8mb4,导入项目中的 springboot/sql/fastbee.sql
数据库脚本。
提示
Linux中安装mysql,配置大小写敏感,在 /etc/my.cnf
添加 lower_case_table_names=1
重启MYSQL服务。
二、打开项目
开发工具IDEA打开项目中的 springboot
文件夹,会自动安装Maven依赖,等待安装完成,速度取决于网络。
三、修改主配置文件
文件位于: springboot/fastbee-admin/src/main/resources/application.yml
,具体配置项目可以参考里面的注释内容。
fastbee:
name: fastbee # 名称
profile: /uploadPath # 文件路径,以uploadPath结尾 示例( Windows配置 D:/uploadPath,Linux配置 /uploadPath)
addressEnabled: true # 获取ip地址开关
captchaType: math # 验证码类型 math 数组计算 char 字符验证
server:
port: 8080 # 服务器的HTTP端口,默认为8080
servlet:
context-path: / # 应用的访问路径
tomcat:
uri-encoding: UTF-8 # tomcat的URI编码
accept-count: 1000 # 连接数满后的排队数,默认为100
threads:
max: 800 # tomcat最大线程数,默认为200
min-spare: 100 # Tomcat启动初始化的线程数,默认值10
# 基于netty的服务器
broker:
enabled: false # mqttBroker类型选择, true: 基于netty的mqttBroker和webSocket false: emq的mqttBroker
broker-node: node1 # 服务器集群节点
port: 1883
openws: false # 控制webSocket是否开启
websocket-port: 8083
websocket-path: /mqtt
keep-alive: 70 # 默认的全部客户端心跳上传时间
#TCP服务端口
tcp:
enabled: true # 控制tcp端口是否开启
port: 8888
keep-alive: 70
delimiter: 0x7e
spring:
profiles:
active: prod # 环境配置,dev=开发环境,prod=生产环境
提示
注意配置文件的格式,缩进一定要对齐,重点关注下面内容:
- 文件上传路径,win和linux系统下配置不同
- mqtt消息服务器选择,后端内置了netty-mqtt服务,也可以选择使用emqx作为mqtt消息服务器
- 环境配置,开发环境和生产环境对应不同的子配置文件,prod对应使用application-prod.yml配置文件
四、修改子配置文件
文件位于:springboot/fastbee-admin/src/main/resources/application-dev.yml
,开发环境使用,生成环境可以使用 application-prod
。
spring:
datasource:
type: com.alibaba.druid.pool.DruidDataSource
driverClassName: com.mysql.cj.jdbc.Driver
druid:
master: # 主库数据源
url: jdbc:mysql://localhost:3306/fastbee?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
username: fastbee
password: fastbee
tdengine-server: # TDengine数据库
enabled: false # 默认不启用TDengine,true=启用,false=不启用
driverClassName: com.taosdata.jdbc.TSDBDriver
url: jdbc:TAOS://fastbee:6030/fastbee_log?timezone=UTC-8&charset=utf-8
username: root
password: taosdata
dbName: fastbee_log
redis: # redis 配置
host: localhost # 地址
port: 6379 # 端口,默认为6379
database: 0 # 数据库索引
password: fastbee # 密码
timeout: 10s # 连接超时时间
lettuce:
pool:
min-idle: 0 # 连接池中的最小空闲连接
max-idle: 8 # 连接池中的最大空闲连接
max-active: 8 # 连接池的最大数据库连接数
max-wait: -1ms # 连接池最大阻塞等待时间(使用负值表示没有限制)
mqtt: # mqtt 配置
username: fastbee # 账号
password: fastbee # 密码
host-url: tcp://localhost:1883 # mqtt连接tcp地址(指向后端或者emqx的地址)
client-id: ${random.int} # 客户端Id,不能相同,采用随机数 ${random.value}
default-topic: test # 默认主题
timeout: 30 # 超时时间
keepalive: 30 # 保持连接
clearSession: true # 清除会话(设置为false,断开连接,重连后使用原来的会话 保留订阅的主题,能接收离线期间的消息)
提示
重点关注一下内容:
- mysql、tdengine、redis、mqtt的连接地址,以及账号和密码
- 使用tdengine需要正确安装和配置,服务端、客户端、驱动保持版本一致
- mqtt的连接地址根据主配置文件的选择分别指向后端和emqx的部署地址
五、修改日志配置
日志路径配置,文件位于:springboot/fastbee-admin/src/main/resources/logback.xml
# 示例( Windows配置D:/logs,Linux配置 /var/data/java/logs)
<property name="log.path" value="/var/data/java/logs" />
五、运行项目
运行项目 FastBeeApplication.java
,出现下图表示启动成功。
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* _⚲_⚲_ ______ _ ____ *
* | / \ | | ____| | | | _ \ *
* | | | ● | | | | |__ __ _ ___| |_ | |_) | ___ ___ *
* | \ / | | __/ _` / __| __| | _ < / _ \/ _ \ *
* \ / | | | (_| \__ \ |_ | |_) | __/ __/ *
* V |_| \__,_|___/\__| |____/ \___|\___| *
* *
* * * * * * * * * * * * FastBee物联网平台[✔启动成功] * * * * * * * * * * *