diff --git a/environment.sh b/environment.sh index 1daf186..8455070 100644 --- a/environment.sh +++ b/environment.sh @@ -60,6 +60,8 @@ export MINIO_DOMAIN=minio-${DOMAIN}.${DOMAIN_END} export MINIO_CONSOLE_DOMAIN=minioconsole-${DOMAIN}.${DOMAIN_END} export AIRPORT_DOMAIN=airport-${DOMAIN}.${DOMAIN_END} export AIRPORT_DOMAIN_FULL=${AIRPORT_DOMAIN}:${NGINX_HTTPS_PORT} +export BUSINESS_DOMAIN=business-${DOMAIN}.${DOMAIN_END} +export BUSINESS_DOMAIN_FULL=${BUSINESS_DOMAIN}:${NGINX_HTTPS_PORT} export SRS_DOMAIN=srs-${DOMAIN}.${DOMAIN_END} export HHZ_DOMAIN=hhz-${DOMAIN}.${DOMAIN_END} export DSP_DOMAIN=dsp-${DOMAIN}.${DOMAIN_END} @@ -329,6 +331,11 @@ else echo "环境变量 BUSINESS_REMOTE_JAR 已设置,设置为 ${BUSINESS_REMOTE_JAR}" fi export BUSINESS_MEMORY=512m +if [ -z "${BUSINESS_WEB_DIST}" ]; then + export BUSINESS_WEB_DIST=/Users/sunpeng/workspace/remote/tuoheng_hhz_web/dist +else + echo "环境变量 BUSINESS_WEB_DIST 已设置,设置为 ${BUSINESS_WEB_DIST}" +fi export DSP_API_NAME=DSP-API${DOMAIN} diff --git a/nginx/vhosts/business.conf b/nginx/vhosts/business.conf new file mode 100644 index 0000000..a75dea1 --- /dev/null +++ b/nginx/vhosts/business.conf @@ -0,0 +1,56 @@ + server + { + listen 80; + listen 443 ssl; + server_name ${BUSINESS_DOMAIN}; + root /data/tuoheng_business_web/dist; + + # SSL证书配置 + ssl_certificate /etc/nginx/t-aaron.com.pem; + ssl_certificate_key /etc/nginx/t-aaron.com.key; + ssl_session_timeout 5m; + ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; + ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3; + ssl_prefer_server_ciphers on; + + # 开启gzip功能 + gzip on; + gzip_min_length 10k; + gzip_comp_level 9; + gzip_types text/plain text/css application/javascript application/x-javascript text/javascript application/xml; + gzip_vary on; + gzip_disable "MSIE [1-6]\."; + + + location /{ + try_files $uri $uri/ @router; + index index.html; + proxy_redirect http://${BUSINESS_DOMAIN} https://${BUSINESS_DOMAIN_FULL}; + } + + location @router{ + rewrite ^.*$ /index.html last; + } + + location /permission { + proxy_pass http://businessService; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + } + + location /business-mini { + proxy_pass http://gatewayService; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + } + + location /business { + proxy_pass http://gatewayService/business; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + } + + } \ No newline at end of file diff --git a/nginx/vhosts/upstream.conf b/nginx/vhosts/upstream.conf index b56fbdb..512a7c8 100644 --- a/nginx/vhosts/upstream.conf +++ b/nginx/vhosts/upstream.conf @@ -4,4 +4,8 @@ upstream gatewayService { upstream airportService { server ${AIRPORT_NAME}:9060; -} \ No newline at end of file +} + +upstream businessService { + server ${BUSINESS_NAME}:9260; +} diff --git a/start/business.sh b/start/business.sh new file mode 100755 index 0000000..83027c1 --- /dev/null +++ b/start/business.sh @@ -0,0 +1,44 @@ +source ../environment.sh + + +if docker ps -a | grep -q ${BUSINESS_NAME}; then + echo "停止并删除已存在的 BUSINESS_NAME 容器..." + docker stop ${BUSINESS_NAME} >/dev/null 2>&1 + docker rm ${BUSINESS_NAME} >/dev/null 2>&1 +fi + + +docker run --pull always -d \ +--name ${BUSINESS_NAME} \ +--network ${NETWORK} \ +--env SPRING_CLOUD_CONSUL_HOST=${CONSUL_NAME} \ +--env SPRING_CLOUD_CONSUL_PORT=8500 \ +--env SPRING_CLOUD_CONSUL_DISCOVERY_HOSTNAME=${BUSINESS_NAME} \ +--env XXL_JOB_ADMIN_ADDRESSES=http://${XXLJOB_NAME}:8080/xxl-job-admin \ +--env XXL_ENABLE=false \ +--env SPRING_REDIS_HOST=${REDIS_NAME} \ +--env SPRING_REDIS_PORT=6379 \ +--env SPRING_DATASOURCE_DRUID_URL="jdbc:mysql://${MYSQL_NAME}:3306/tuoheng_dsp?useUnicode=true&characterEncoding=UTF-8&serverTimezone=GMT%2b8&useSSL=true&tinyInt1isBit=false" \ +--env SPRING_DATASOURCE_DRUID_USERNAME=root \ +--env SPRING_DATASOURCE_DRUID_PASSWORD=${MYSQL_ROOT_PASSWORD} \ +--env SPRING_MQTT_ONLINEURL=tcp://${MQTT_NAME}:1883 \ +--env SPRING_MQTT_URL=tcp://${MQTT_NAME}:1883 \ +--env SPRING_MQTT_NEWURL=tcp://${MQTT_NAME}:1883 \ +--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 VIDEOSERVER_REQUESTURL=http://${STREAM_NAME}:8080 \ +--env VIDEOSERVER_VIDEOPLAYURL=https://${SRS_DOMAIN}:${NGINX_HTTPS_PORT}/recording/ \ +--env SPRING_KAFKA_BOOTSTRAP_SERVERS=${KAFKA_NAME}:9092 \ +--env MINIO_OSS_ENDPOINT=http://${MINIO_NAME}:9000 \ +--env MINIO_OSS_OUTENDPOINT=https://${MINIO_DOMAIN}:${NGINX_HTTPS_PORT} \ +--env MINIO_DAJIOSS_ENDPOINT=https://${MINIO_DOMAIN}:${NGINX_HTTPS_PORT} \ +--env MINIO_OSS_ACCESSKEYID=${MINIO_ACCESS_KEY} \ +--env MINIO_OSS_ACCESSKEYSECRET=${MINIO_SECRET_KEY} \ +--env TUOHENG_PUSH_URL=rtmp://${SRS_DOMAIN}:${SRS_RTMP_PORT}/live/ \ +--env TUOHENG_PULL_URL=https://${SRS_DOMAIN}:${NGINX_HTTPS_PORT}/live/ \ +--env TZ=Asia/Shanghai \ +--mount type=bind,source=/etc/localtime,target=/etc/localtime,readonly \ +--memory ${BUSINESS_MEMORY} \ +--restart unless-stopped \ +${BUSINESS_IMAGE} \ No newline at end of file diff --git a/start/gateway/application.yml b/start/gateway/application.yml index 47b948e..4feee52 100644 --- a/start/gateway/application.yml +++ b/start/gateway/application.yml @@ -131,6 +131,14 @@ spring: - Path=/hhz/api/** filters: - StripPrefix=2 + # business admin服务 + - id: tuoheng-business-admin + uri: http://${BUSINESS_NAME}:9260 + predicates: + - Path=/business/admin/** + filters: + - StripPrefix=2 + # business 小程序服务 # Redis数据源 redis: # 缓存库默认索引0 diff --git a/tuohengdev.sh b/tuohengdev.sh index 3d4cc21..6ede6ae 100755 --- a/tuohengdev.sh +++ b/tuohengdev.sh @@ -31,10 +31,12 @@ export XXLJOB_PORT=8383 export HHZ_ADMIN_WEB_DIST=/home/th/workspace/dockerbuilder/webs/dev/tuoheng_hhz_web/dist export DSP_ADMIN_WEB_DIST=/home/th/workspace/dockerbuilder/webs/dev/dsp-admin/dist export AIRPORT_WEB_DIST=/home/th/workspace/dockerbuilder/webs/dev/tuoheng_airport_web/dist +export BUSINESS_WEB_DIST=/home/th/workspace/dockerbuilder/webs/dev/business_web/dist echo $HHZ_ADMIN_WEB_DIST echo $DSP_ADMIN_WEB_DIST echo $AIRPORT_WEB_DIST +echo $BUSINESS_WEB_DIST #前端配置 #export VUE_APP_API_BASE_URL = https://${HHZ_DOMAIN}:${NGINX_HTTPS_PORT}/