This commit is contained in:
孙小云 2025-05-20 11:36:17 +08:00
parent a31c4b62b2
commit aff83df3ea
7 changed files with 71 additions and 19 deletions

View File

@ -1,17 +1,22 @@
#!/bin/bash
# 定基本环境变量并导出
# 所有端口都为主机对外爆露的端口
# 不同的环境采用不同的DOMAIN
# HOST_IP 设置为部署服务器的主机IP
export DOMAIN=bazhong
export NETWORK="swarm_network_$DOMAIN"
export HOST_IP=127.0.0.1
# 镜像仓库地址
export REGISTRY=registry.t-aaron.com
export SKYWALKING_UI_DOMAIN=sky-${DOMAIN}.t-aaron.com
export CONSUL_DOMAIN=consul-${DOMAIN}.t-aaron.com
export XXLJOB_DOMAIN=xxljob-${DOMAIN}.t-aaron.com
export OIDC_SERVER_DOMAIN=oidc-${DOMAIN}.t-aaron.com
export MINIO_DOMAIN=minio-${DOMAIN}.t-aaron.com
export MINIO_CONSOLE_DOMAIN=minioconsole-${DOMAIN}.t-aaron.com
export AIRPORT_DOMAIN=airport-${DOMAIN}.t-aaron.com
# 主机的域名后缀
export DOMAIN_END=t-aaron.com
export SKYWALKING_UI_DOMAIN=sky-${DOMAIN}.${DOMAIN_END}
export CONSUL_DOMAIN=consul-${DOMAIN}.${DOMAIN_END}
export XXLJOB_DOMAIN=xxljob-${DOMAIN}.${DOMAIN_END}
export OIDC_SERVER_DOMAIN=oidc-${DOMAIN}.${DOMAIN_END}
export MINIO_DOMAIN=minio-${DOMAIN}.${DOMAIN_END}
export MINIO_CONSOLE_DOMAIN=minioconsole-${DOMAIN}.${DOMAIN_END}
export AIRPORT_DOMAIN=airport-${DOMAIN}.${DOMAIN_END}
export REGISTRY_HOST=${REGISTRY}/tuoheng/
#export REGISTRY_HOST=""
@ -19,11 +24,14 @@ export REGISTRY_HOST=${REGISTRY}/tuoheng/
#Nginx 配置
export NGINX_NAME=NGINX_${DOMAIN}
export NGINX_IMAGE=${REGISTRY_HOST}nginx:${DOMAIN}
# 主机对外爆露的HTTP端口
export NGINX_HTTP_PORT=8899
# 主机对外爆露的HTTPS端口
export NGINX_HTTPS_PORT=2443
export NGINX_MEMORY=256m
#MySql 配置
# 数据库对外爆露端口
export MYSQL_PORT=3308
export MYSQL_ROOT_PASSWORD=tuoheng2024
export MYSQL_IMAGE=${REGISTRY_HOST}mysql:8.0.25
@ -32,6 +40,7 @@ export MYSQL_NAME=MYSQL_${DOMAIN}
export MYSQL_MEMORY=1g
#Redis 配置
export REDIS_PORT=6380
export REDIS_IMAGE=${REGISTRY_HOST}redis:latest
export REDIS_DATA=${NETWORK}_redis_data
@ -39,6 +48,7 @@ export REDIS_NAME=REDIS_${DOMAIN}
export REDIS_MEMORY=512m
#MQTT 配置
# MQTT对外爆露端口
export MQTT_PORT=1883
export MQTT_WS_PORT=9001
export MQTT_IMAGE=${REGISTRY_HOST}eclipse-mosquitto:latest
@ -46,13 +56,15 @@ export MQTT_NAME=MQTT_${DOMAIN}
export MQTT_MEMORY=512m
#Kafka 配置
# Kafka对外爆露端口
export KAFKA_PORT=9092
export KAFKA_IMAGE=bitnami/kafka:latest
export KAFKA_NAME=KAFKA_${DOMAIN}
export KAFKA_MEMORY=512m
export KAFKA_MEMORY=1g
export KAFKA_DATA=${NETWORK}_kafka_data
#SRS 配置
# SRS对外爆露端口
export SRS_NAME=SRS_${DOMAIN}
export SRS_HTTP_PORT=8080
export SRS_RTMP_PORT=1935
@ -67,7 +79,9 @@ export MINIO_NAME=MINIO_${DOMAIN}
export MINIO_MEMORY=512m
export MINIO_IMAGE=quay.io/minio/minio
export MINIO_DATA=${NETWORK}_minio_data
# Minio对外爆露端口
export MINIO_API_PORT=9000
# Minio控制台对外爆露端口
export MINIO_CONSOLE_PORT=9002
export MINIO_ROOT_USER=miniopassword
export MINIO_ROOT_PASSWORD=miniopassword
@ -78,6 +92,7 @@ export MINIO_SECRET_KEY=minioaccesskey
export ES_NAME=ES_${DOMAIN}
export ES_IMAGE=elasticsearch:7.8.0
export ES_MEMORY=1g
# Elasticsearch对外爆露端口
export ES_PORT=9200
export ES_DATA=${NETWORK}_es_data
@ -88,6 +103,7 @@ export SKYWALKING_OAP_IMAGE=apache/skywalking-oap-server:8.6.0-es7
export SKYWALKING_UI_IMAGE=apache/skywalking-ui:8.6.0
export SKYWALKING_OAP_MEMORY=512m
export SKYWALKING_UI_MEMORY=512m
# SkyWalking UI对外爆露端口
export SKYWALKING_UI_PORT=8181
export SW_AGENT_COLLECTOR_BACKEND_SERVICES=${SKYWALKING_OAP_NAME}:11800
export SKYWALKING_USERNAME=skywalking
@ -129,7 +145,7 @@ export GATEWAY_NAME=GATEWAY${DOMAIN}
export GATEWAY_IMAGE=${REGISTRY_HOST}gateway:${DOMAIN}
export GATEWAY_JAR=tuoheng_gateway.jar
export GATEWAY_REMOTE_JAR=/home/th/workspace/test/swarm/dockerfile/gateway/${GATEWAY_JAR}
export GATEWAY_MEMORY=512m
export GATEWAY_MEMORY=1g
#河湖长
export HHZ_API_NAME=HHZ-API${DOMAIN}
@ -148,8 +164,9 @@ export AIRPORT_NAME=AIRPORT${DOMAIN}
export AIRPORT_IMAGE=${REGISTRY_HOST}airport:${DOMAIN}
export AIRPORT_JAR=tuoheng_airport_admin.jar
export AIRPORT_REMOTE_JAR=/home/th/workspace/jndsj/jar/airport/${AIRPORT_JAR}
export AIRPORT_MEMORY=512m
export AIRPORT_WEB_DIST=/home/th/workspace/jndsj/web/tuoheng_airport_web/dist
export AIRPORT_MEMORY=1g
#export AIRPORT_WEB_DIST=/home/th/workspace/jndsj/web/tuoheng_airport_web/dist
export AIRPORT_WEB_DIST=/Users/sunpeng/workspace/remote/docker/tuoheng_airport_web/dist
#export AIRPORT_WEB_DIST=/Users/sunpeng/workspace/remote/docker/tuoheng_airport_web/dist
export BUSINESS_NAME=BUSINESS${DOMAIN}

View File

@ -43,4 +43,10 @@ else
fi
source ../environment.sh
if ! docker volume inspect ${KAFKA_DATA} >/dev/null 2>&1; then
docker volume create ${KAFKA_DATA}
echo "创建 ${KAFKA_DATA} 卷成功"
else
echo "${KAFKA_DATA} 卷已存在"
fi

View File

@ -43,7 +43,7 @@ docker run -d \
-e KAFKA_CFG_NODE_ID=1 \
-e KAFKA_CFG_PROCESS_ROLES=broker,controller \
-e KAFKA_CFG_LISTENERS=PLAINTEXT://:9092,CONTROLLER://:29093 \
-e KAFKA_CFG_ADVERTISED_LISTENERS=PLAINTEXT://${HOST_IP}:${KAFKA_PORT} \
-e KAFKA_CFG_ADVERTISED_LISTENERS=PLAINTEXT://${KAFKA_NAME}:9092 \
-e KAFKA_CFG_CONTROLLER_QUORUM_VOTERS=1@${KAFKA_NAME}:29093 \
-e KAFKA_CFG_CONTROLLER_LISTENER_NAMES=CONTROLLER \
-e KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP=CONTROLLER:PLAINTEXT,PLAINTEXT:PLAINTEXT \
@ -57,6 +57,7 @@ docker run -d \
-e KAFKA_CFG_LOG_RETENTION_HOURS=168 \
-e KAFKA_CFG_LOG_RETENTION_BYTES=-1 \
-e KAFKA_CFG_DELETE_TOPIC_ENABLE=true \
--mount type=volume,source=${KAFKA_DATA},target=/bitnami/kafka \
--memory ${KAFKA_MEMORY} \
--restart unless-stopped \
${KAFKA_IMAGE}

View File

@ -27,7 +27,7 @@ docker run --pull always -d \
--env SPRING_NEWMQTT_ONLINEURL=tcp://${MQTT_NAME}:1883 \
--env SPRING_NEWMQTT_URL=tcp://${MQTT_NAME}:1883 \
--env SPRING_NEWMQTT_NEWURL=tcp://${MQTT_NAME}:1883 \
--env SPRING_KAFKA_COMMON_BOOTSTRAP-SERVERS=${KAFKA_NAME}:9092 \
--env SPRING_KAFKA_COMMON_BOOTSTRAP_SERVERS=${KAFKA_NAME}:9092 \
--env MINIO_OSS_ENDPOINT=https://${MINIO_DOMAIN}:${NGINX_HTTPS_PORT} \
--env MINIO_DAJIOSS_ENDPOINT=https://${MINIO_DOMAIN}:${NGINX_HTTPS_PORT} \
--env MINIO_OSS_ACCESS_KEY=${MINIO_ACCESS_KEY} \

View File

@ -22,7 +22,7 @@ docker run --pull always -d \
--env SPRING_DATASOURCE_USERNAME=root \
--env SPRING_DATASOURCE_PASSWORD=${MYSQL_ROOT_PASSWORD} \
--env TZ=Asia/Shanghai \
--env SPRING_KAFKA_COMMON_BOOTSTRAP-SERVERS=${KAFKA_NAME}:9092 \
--env SPRING_KAFKA_COMMON_BOOTSTRAP_SERVERS=${KAFKA_NAME}:9092 \
--mount type=bind,source=/etc/localtime,target=/etc/localtime,readonly \
--memory ${OIDC_ADMIN_MEMORY} \
--restart unless-stopped \

View File

@ -26,7 +26,7 @@ docker run --pull always -d \
--env OAUTH2_TOKEN_ISSUER=https://${OIDC_SERVER_DOMAIN}:2443 \
--env SPRING_SECURITY_OAUTH2_RESOURCE-SERVER_JWT_ISSUER-URI=https://${OIDC_SERVER_DOMAIN}:2443 \
--env TZ=Asia/Shanghai \
--env SPRING_KAFKA_COMMON_BOOTSTRAP-SERVERS=${KAFKA_NAME}:9092 \
--env SPRING_KAFKA_COMMON_BOOTSTRAP_SERVERS=${KAFKA_NAME}:9092 \
--mount type=bind,source=/etc/localtime,target=/etc/localtime,readonly \
--memory ${OIDC_SERVER_MEMORY} \
--restart unless-stopped \

28
start/说明.md Normal file
View File

@ -0,0 +1,28 @@
整体:
1: 在构建服务器上面构建各个服务
builder 构建后端服务
nginx 构建前端服务
2: 在需要部署的服务器上执行start中的命令
先执行init中的脚本初始化环境
environment.sh 环境参数文件,构建时候和部署时候都依赖这个文件,必须保证一致
nginx的vhosts里面的cert文件需要更新为域名的配置文件
1: 刷MySql数据
2: 刷Kafka数据
以下 KAFKA_bazhong 要换成真实容器ID
docker exec KAFKA_bazhong /opt/bitnami/kafka/bin/kafka-topics.sh --create --bootstrap-server 127.0.0.1:9092 --topic airport-push-voltage-imitateFly
docker exec KAFKA_bazhong /opt/bitnami/kafka/bin/kafka-topics.sh --create --bootstrap-server 127.0.0.1:9092 --topic airport-push-voltage-task
docker exec KAFKA_bazhong /opt/bitnami/kafka/bin/kafka-topics.sh --create --bootstrap-server 127.0.0.1:9092 --topic airport-push-voltage-test
docker exec KAFKA_bazhong /opt/bitnami/kafka/bin/kafka-topics.sh --create --bootstrap-server 127.0.0.1:9092 --topic business-update-dataPermissions-task
docker exec KAFKA_bazhong /opt/bitnami/kafka/bin/kafka-topics.sh --create --bootstrap-server 127.0.0.1:9092 --topic dsp-alg-online-tasks
docker exec KAFKA_bazhong /opt/bitnami/kafka/bin/kafka-topics.sh --create --bootstrap-server 127.0.0.1:9092 --topic dsp-alg-offline-tasks
docker exec KAFKA_bazhong /opt/bitnami/kafka/bin/kafka-topics.sh --bootstrap-server 127.0.0.1:9092 --list
3: 建minio的权限
部署在大数据服务器:
低空(预备)
大数据的mysql的数据
mqtt需要在综管改使用容器内新的mqtt
minio
srs
视频流录制的配置文件覆盖