我目前推荐docker-compose来构建中间件服务
宝塔维护我的阿里云机器,我先试一下,后续看看要不要用
www.bt.cn/new/downloa… linux 机器直接安装,然后开放22632端口
blog.csdn.net/sinat_36891…, jdk 安装教程
外网ipv4面板地址: https://XX:22632/39ff9e3b
username: k4rml4bw
password: f1b0b658
redis和mysql
version: '3.8'
# 定义网络
networks:
webchat-network:
driver: bridge
ipam:
config:
- subnet: 172.28.0.0/16
# 定义数据卷
volumes:
mysql_data:
mysql_config:
redis_data:
minio_data:
elasticsearch_data:
mongodb_data:
milvus_data:
n8n_data:
prometheus_data:
grafana_data:
rocketmq_data:
services:
# ===================== MySQL 8.0 =====================
mysql80:
image: mysql:8.0 # 固定8.0版本
container_name: mysql80-webchat
environment:
MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD:-MysqlRoot@123456}
MYSQL_DATABASE: nacos_config
MYSQL_USER: webchat
MYSQL_PASSWORD: ${MYSQL_APP_PASSWORD:-Webchat@123456}
TZ: Asia/Shanghai
MYSQL_INNODB_BUFFER_POOL_SIZE: 256M # 优化InnoDB缓冲池
volumes:
- mysql_data:/var/lib/mysql
networks:
- webchat-network
ports:
- "3308:3306"
restart: unless-stopped
healthcheck:
test: ["CMD", "mysqladmin", "ping", "-h", "localhost"]
interval: 30s
timeout: 10s
retries: 5
start_period: 60s
deploy:
resources:
limits:
memory: 1G
cpus: '1.0'
reservations:
memory: 512M
command:
- --character-set-server=utf8mb4
- --collation-server=utf8mb4_unicode_ci
- --default-authentication-plugin=mysql_native_password
- --max_connections=1000
# ===================== Redis 6.0 =====================
redis-webchat:
container_name: redis-webchat
image: redis:6.2
restart: always
command: redis-server /etc/redis/redis.conf
volumes:
- redis_data:/data
- ./config/redis.conf:/etc/redis/redis.conf:ro
ports:
- "6380:6379"
networks:
- webchat-network
nacos的构建
我参考的www.cnblogs.com/yangyxd/p/1…
在构建nacos服务的时候,我是部署在linux上面的,要开通多个端口,8848, 9848,9849,我也不太明白,后边我看看源码
项目中的整合
mongodb的搭建
docker run -d --name mongo -p 27017:27017 -e MONGO_INITDB_ROOT_USERNAME=root -e MONGO_INITDB_ROOT_PASSWORD=dyw862749167 -v mongo_data:/data/db --restart=unless-stopped mongo:5.0.5
springboot配置, 参考的编程不良人
spring.data.mongodb.host=8.136.60.157
spring.data.mongodb.port=27017
spring.data.mongodb.database=baizhi
spring.data.mongodb.username=root
spring.data.mongodb.password=dyw862749167
spring.data.mongodb.authentication-database=admin
rocketmq 安装 我参考的这个: juejin.cn/post/746903…
broker.conf的配置
brokerClusterName=DefaultCluster
brokerName=Broker-A
brokerId=0
deleteWhen=04
fileReservedTime=48
brokerRole=ASYNC_MASTER
flushDiskType=ASYNC_FLUSH
listenPort=10911
brokerIP1=8.136.60.157
namesrvAddr=8.136.60.157:9876
docker-compose的配置
version: '3.8'
services:
namesrv:
image: apache/rocketmq:5.3.1
container_name: rmqnamesrv
ports:
- 9876:9876
networks:
- rocketmq
command: sh mqnamesrv
broker:
image: apache/rocketmq:5.3.1
container_name: rmqbroker
ports:
- 10909:10909
- 10911:10911
environment:
- NAMESRV_ADDR=namesrv:9876
- JAVA_OPT_EXT=-server -Xms512m -Xmx512m -Duser.home=/home/rocketmq
volumes:
- ./config/broker.conf:/home/rocketmq/rocketmq-5.3.1/conf/broker.conf
depends_on:
- namesrv
networks:
- rocketmq
command: sh mqbroker -c ../conf/broker.conf
console:
image: pangliang/rocketmq-console-ng
container_name: rmqconsole
ports:
- 9080:8080
environment:
- JAVA_OPTS=-Dserver.port=8080 -Drocketmq.config.namesrvAddr=namesrv:9876
depends_on:
- namesrv
networks:
- rocketmq
restart: always
deploy:
resources:
limits:
cpus: '0.3'
memory: 256M
networks:
rocketmq:
driver: bridge
ipam:
config:
- subnet: 172.28.0.0/16
es的搭建
docker pull elasticsearch:7.14.0
docker volume create es_data
docker volume create es_config
docker volume create es_plugin
docker network create es_network
docker run -d --name elasticsearch --network es_network --privileged=true --ulimit memlock=-1:-1 --ulimit nofile=65535:65535 -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -e "ES_JAVA_OPTS=-Xms512m -Xmx512m" -v es_data:/usr/share/elasticsearch/data -v es_config:/usr/share/elasticsearch/config -v es_plugin:/usr/share/elasticsearch/plugins elasticsearch:7.14.0
# 下载分词器
下载页面: https://release.infinilabs.com/analysis-ik/stable/
scp elasticsearch-analysis-ik-7.14.0.zip root@47.100.70.6:/root/
docker cp elasticsearch-analysis-ik-7.14.0.zip elasticsearch:/usr/share/elasticsearch/plugins/
docker exec -it elasticsearch /bin/bash
cd /usr/share/elasticsearch/plugins/
mkdir ik && cd ik
mv ....
unzip elasticsearch-analysis-ik-7.14.0.zip
rm -f elasticsearch-analysis-ik-7.14.0.zip
验证http://xx:9200/_cat/plugins?v
kibana 的搭建
docker pull kibana:7.14.0
docker run -d --name kibana -p 5601:5601 kibana:7.14.0
docker run -d -v ./config/kibana.yml:/usr/share/kibana/config/kibana.yml --name kibana -p 5601:5601 kibana:7.14.0
docker cp
docker cp c967129b74f9:/usr/share/kibana/config/kibana.yml .
docker run -d -v ./config/kibana.yml:/usr/share/kibana/config/kibana.yml --name kibana -p 5601:5601 kibana:7.14.0
minio的搭建
docker pull minio/minio
docker run --name minio -p 9000:9000 -p 9001:9001 -e MINIO_ROOT_USER=minioadmin -e MINIO_ROOT_PASSWORD=minioadmin -d -v minio_data:/data minio/minio:latest server /data --console-address ":9001"
http://localhost:9001/browser
我参考的这个,但是他不太对 weibaohang.blog.csdn.net/article/det… 我再看看如何添加accessKey