一、創(chuàng)建數(shù)據(jù)庫(kù)
創(chuàng)建FastBee數(shù)據(jù)庫(kù),字符集使用utf8或utf8mb4,導(dǎo)入項(xiàng)目中的 springboot/sql/fastbee.sql
數(shù)據(jù)庫(kù)腳本。
Tips
Linux中安裝mysql,配置大小寫(xiě)敏感,在 /etc/my.cnf
添加 lower_case_table_names=1
重啟MYSQL服務(wù)。
二、打開(kāi)項(xiàng)目
開(kāi)發(fā)工具IDEA打開(kāi)springboot文件夾,會(huì)自動(dòng)安裝Maven依賴(lài),等待安裝完成,速度取決于網(wǎng)絡(luò)。
三、修改主配置文件
文件位于: springboot/fastbee-admin/src/main/resources/application.yml
,具體配置項(xiàng)目可以參考里面的注釋內(nèi)容。
fastbee:
name: fastbee # 名稱(chēng)
profile: /uploadPath # 文件路徑,以u(píng)ploadPath結(jié)尾 示例( Windows配置 D:/uploadPath,Linux配置 /uploadPath)
addressEnabled: true # 獲取ip地址開(kāi)關(guān)
captchaType: math # 驗(yàn)證碼類(lèi)型 math 數(shù)組計(jì)算 char 字符驗(yàn)證
server:
port: 8080 # 服務(wù)器的HTTP端口,默認(rèn)為8080
servlet:
context-path: / # 應(yīng)用的訪問(wèn)路徑
tomcat:
uri-encoding: UTF-8 # tomcat的URI編碼
accept-count: 1000 # 連接數(shù)滿后的排隊(duì)數(shù),默認(rèn)為100
threads:
max: 800 # tomcat最大線程數(shù),默認(rèn)為200
min-spare: 100 # Tomcat啟動(dòng)初始化的線程數(shù),默認(rèn)值10
# 基于netty的服務(wù)器
broker:
enabled: false # mqttBroker類(lèi)型選擇, true: 基于netty的mqttBroker和webSocket false: emq的mqttBroker
broker-node: node1 # 服務(wù)器集群節(jié)點(diǎn)
port: 1883
openws: false # 控制webSocket是否開(kāi)啟
websocket-port: 8083
websocket-path: /mqtt
keep-alive: 70 # 默認(rèn)的全部客戶端心跳上傳時(shí)間
#TCP服務(wù)端口
tcp:
enabled: true # 控制tcp端口是否開(kāi)啟
port: 8888
keep-alive: 70
delimiter: 0x7e
spring:
profiles:
active: prod # 環(huán)境配置,dev=開(kāi)發(fā)環(huán)境,prod=生產(chǎn)環(huán)境
Tips
注意配置文件的格式,縮進(jìn)一定要對(duì)齊,重點(diǎn)關(guān)注下面內(nèi)容:
- 文件上傳路徑,win和linux系統(tǒng)下配置不同
- mqtt消息服務(wù)器選擇,后端內(nèi)置了netty-mqtt服務(wù),也可以選擇使用emqx作為mqtt消息服務(wù)器
- 環(huán)境配置,開(kāi)發(fā)環(huán)境和生產(chǎn)環(huán)境對(duì)應(yīng)不同的子配置文件,prod對(duì)應(yīng)使用application-prod.yml配置文件
四、修改子配置文件
文件位于:springboot/fastbee-admin/src/main/resources/application-dev.yml
,開(kāi)發(fā)環(huán)境使用,生成環(huán)境可以使用 application-prod
。
spring:
datasource:
type: com.alibaba.druid.pool.DruidDataSource
driverClassName: com.mysql.cj.jdbc.Driver
druid:
master: # 主庫(kù)數(shù)據(jù)源
url: jdbc:mysql://localhost:3306/fastbee?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
username: fastbee
password: fastbee
tdengine-server: # TDengine數(shù)據(jù)庫(kù)
enabled: false # 默認(rèn)不啟用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 # 端口,默認(rèn)為6379
database: 0 # 數(shù)據(jù)庫(kù)索引
password: fastbee # 密碼
timeout: 10s # 連接超時(shí)時(shí)間
lettuce:
pool:
min-idle: 0 # 連接池中的最小空閑連接
max-idle: 8 # 連接池中的最大空閑連接
max-active: 8 # 連接池的最大數(shù)據(jù)庫(kù)連接數(shù)
max-wait: -1ms # 連接池最大阻塞等待時(shí)間(使用負(fù)值表示沒(méi)有限制)
mqtt: # mqtt 配置
username: fastbee # 賬號(hào)
password: fastbee # 密碼
host-url: tcp://localhost:1883 # mqtt連接tcp地址(指向后端或者emqx的地址)
client-id: ${random.int} # 客戶端Id,不能相同,采用隨機(jī)數(shù) ${random.value}
default-topic: test # 默認(rèn)主題
timeout: 30 # 超時(shí)時(shí)間
keepalive: 30 # 保持連接
clearSession: true # 清除會(huì)話(設(shè)置為false,斷開(kāi)連接,重連后使用原來(lái)的會(huì)話 保留訂閱的主題,能接收離線期間的消息)
Tips
重點(diǎn)關(guān)注一下內(nèi)容:
- mysql、tdengine、redis、mqtt的連接地址,以及賬號(hào)和密碼
- 使用tdengine需要正確安裝和配置,服務(wù)端、客戶端、驅(qū)動(dòng)保持版本一致
- mqtt的連接地址根據(jù)主配置文件的選擇分別指向后端和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" />
五、運(yùn)行項(xiàng)目
運(yùn)行項(xiàng)目 FastBeeApplication.java
,出現(xiàn)下圖表示啟動(dòng)成功。
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* _?_?_ ______ _ ____ *
* | / \ | | ____| | | | _ \ *
* | | | ● | | | | |__ __ _ ___| |_ | |_) | ___ ___ *
* | \ / | | __/ _` / __| __| | _ < / _ \/ _ \ *
* \ / | | | (_| \__ \ |_ | |_) | __/ __/ *
* V |_| \__,_|___/\__| |____/ \___|\___| *
* *
* * * * * * * * * * * * FastBee物聯(lián)網(wǎng)平臺(tái)[?啟動(dòng)成功] * * * * * * * * * * *