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