后端项目启动
你好呀,我的老朋友!我是老寇,欢迎来到老寇IoT云平台!
# 环境配置
注意:本教程只针对Window,修改Win系统上面的hosts(如有需要,请自行更换IP,比如说使用云服务,请更换成云服务器IP)【目录位置:C:\Windows\System32\drivers\etc\hosts】
127.0.0.1 kafka
127.0.0.1 redis
127.0.0.1 postgresql
127.0.0.1 nginx
127.0.0.1 elasticsearch
127.0.0.1 nacos
127.0.0.1 gateway
127.0.0.1 tdengine
127.0.0.1 snail-job
127.0.0.1 auth
127.0.0.1 admin
127.0.0.1 jaeger-collector
127.0.0.1 otel-collector
127.0.0.1 ui
127.0.0.1 iot
127.0.0.1 loki
127.0.0.1 jaeger-query
127.0.0.1 pulsar
127.0.0.1 sentinel
注意:请提前安装Window的Docker
window安装docker教程 (opens new window)
注意:本教程为Window系统的docker,其余环境请自行安装
注意:Window系统自带docker-compose,无需安装
注意:先跑起来,不要改任何的密码,请不要擅作主张的修改,如果照着教程运行,还有问题请联系作者
注意:本教程为Window系统的docker,其余环境请自行安装
services:
postgresql:
image: timescale/timescaledb:latest-pg17
container_name: postgresql
# 保持容器在没有守护程序的情况下运行
tty: true
restart: always
privileged: true
ports:
- "5432:5432"
volumes:
- ./postgresql17/data:/var/lib/postgresql/data
environment:
- POSTGRES_USER=root
- POSTGRES_PASSWORD=laokou123
- TZ=Asia/Shanghai
networks:
- iot_network
redis:
image: redis:8.4.0
container_name: redis
# 保持容器在没有守护程序的情况下运行
tty: true
restart: always
privileged: true
ports:
- "6379:6379"
volumes:
- ./redis7/conf/redis.conf:/etc/redis/redis.conf
- ./redis7/data:/data
command: redis-server --appendonly yes --requirepass 'laokou123'
environment:
- TZ=Asia/Shanghai
networks:
- iot_network
kafka:
image: apache/kafka:4.1.1
container_name: kafka
tty: true
ports:
- '9092:9092'
- '9093:9093'
environment:
- KAFKA_NODE_ID=1
- KAFKA_PROCESS_ROLES=broker,controller
- KAFKA_LISTENERS=PLAINTEXT://:9092,CONTROLLER://:9093
- KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://kafka:9092
- KAFKA_CONTROLLER_LISTENER_NAMES=CONTROLLER
- KAFKA_LISTENER_SECURITY_PROTOCOL_MAP=CONTROLLER:PLAINTEXT,PLAINTEXT:PLAINTEXT
- KAFKA_CONTROLLER_QUORUM_VOTERS=1@kafka:9093
- KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR=1
- KAFKA_TRANSACTION_STATE_LOG_REPLICATION_FACTOR=1
- KAFKA_TRANSACTION_STATE_LOG_MIN_ISR=1
- KAFKA_GROUP_INITIAL_REBALANCE_DELAY_MS=0
- KAFKA_NUM_PARTITIONS=3
restart: always
privileged: true
networks:
- iot_network
# bin/pulsar-admin tenants create laokou
# bin/pulsar-admin namespaces create laokou/mqtt
# bin/pulsar-admin topics create-partitioned-topic laokouyun/mqtt/laokou-mqtt-up-property-report -p 4
# bin/pulsar-admin topics create-partitioned-topic laokouyun/mqtt/laokou-mqtt-down-property-read -p 4
# bin/pulsar-admin topics create-partitioned-topic laokouyun/mqtt/laokou-mqtt-up-property-read-reply -p 4
# bin/pulsar-admin topics create-partitioned-topic laokouyun/mqtt/laokou-mqtt-down-property-write -p 4
# bin/pulsar-admin topics create-partitioned-topic laokouyun/mqtt/laokou-mqtt-up-property-write-reply -p 4
pulsar:
image: apachepulsar/pulsar:4.1.2
container_name: pulsar
# 保持容器在没有守护程序的情况下运行
tty: true
restart: always
privileged: true
command: bin/pulsar standalone
environment:
- PULSAR_MEM=-Xms512m -Xmx512m
ports:
- "6650:6650"
- "8080:8080"
volumes:
- ./pulsar/data:/pulsar/data
networks:
- iot_network
networks:
iot_network:
driver: bridge
# 启动
docker compose up -d
请安装GraalVM 25、Maven 3.9.11
注意:强制使用Maven 3.9.11
注意:强制使用Maven 3.9.11
注意:强制使用Maven 3.9.11
注意:强制使用GraalVM 25
注意:强制使用GraalVM 25
注意:强制使用GraalVM 25
# 项目启动
🚀 项目拉取(需要安装git)
注意:项目目录里面不能带中文
注意:项目目录里面不能带中文
注意:项目目录里面不能带中文
SSH方式拉取(推荐)【需要配置密钥】
git clone git@github.com:KouShenhai/KCloud-Platform-IoT.git
HTTPS方式
git clone https://github.com/KouShenhai/KCloud-Platform-IoT.git
🚀 项目构建
# 项目打包
mvn clean install -P dev -DskipTests -U
🚀 初始化数据库
注意:不同的数据库执行不同的SQL文件
注意:不同的数据库执行不同的SQL文件
注意:不同的数据库执行不同的SQL文件
# 先创建数据库
create_db.sql
# 然后初始化数据
kcloud_platform.sql【系统管理】
kcloud_platform_domain.sql【领域事件】
kcloud_platform_iot.sql【物联管理】
kcloud_platform_nacos.sql【Nacos】
kcloud_platform_generator.sql【代码生成】
🚀 检查pom.xml配置和数据库连接信息
注意:先跑起来,不要改任何的密码,请不要擅作主张的修改,如果照着教程运行,还有问题请联系作者
🚀 启动Nacos【集群】
注意:需要运行3个脚本:start-cluster-node1.cmd、start-cluster-node2.cmd、start-cluster-node3.cmd
🚀 启动服务
注意:请运行laokou-nacos、laokou-distributed-id、laokou-auth、laokou-gateway、laokou-admin【有先后顺序,请按照步骤启动服务】
注意:请运行laokou-nacos、laokou-distributed-id、laokou-auth、laokou-gateway、laokou-admin【有先后顺序,请按照步骤启动服务】
注意:请运行laokou-nacos、laokou-distributed-id、laokou-auth、laokou-gateway、laokou-admin【有先后顺序,请按照步骤启动服务】
🚀 访问API文档
网关服务:http://gateway:5555/doc.html
认证服务:http://auth:1111/doc.html
管理服务:http://admin:9990/doc.html
我是老寇,我们下次再见啦!