From 27ee16b6407f2e67107283200c096bf13abe332a Mon Sep 17 00:00:00 2001 From: BanTanger <88583317+BanTanger@users.noreply.github.com> Date: Sat, 16 Sep 2023 08:19:01 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=20mac=20=E6=9C=AC=E5=9C=B0?= =?UTF-8?q?=E9=83=A8=E7=BD=B2=E9=81=87=E5=88=B0=E7=9A=84=20bug=20(#54)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * fix jar no with dependencies * 完善Docker-compose部署 (#53) * fix jar no with dependencies (#52) * 完善Docker-compose部署 --------- Co-authored-by: BanTanger <88583317+BanTanger@users.noreply.github.com> Co-authored-by: haoran.tian * fix errors in docker-compose and properties * fix errors in docker-compose and properties --------- Co-authored-by: 田浩然 <83286888+zizai-Shen@users.noreply.github.com> Co-authored-by: haoran.tian --- .gitignore | 3 +++ copy.sh | 5 ++++- docker-compose.yml | 3 ++- docker/mysql/Dockerfile | 2 +- im-domain/Dockerfile | 2 +- .../src/main/resources/application-docker.yml | 14 ++++++------- im-domain/src/main/resources/application.yml | 6 +++--- im-message-store/Dockerfile | 2 +- im-message-store/pom.xml | 20 +++++++++++-------- .../src/main/resources/application-docker.yml | 10 +++++----- .../src/main/resources/application.yml | 4 ++-- im-tcp/pom.xml | 2 +- im-tcp/src/main/resources/WebSocket.html | 2 +- im-tcp/src/main/resources/config-docker.yml | 6 +++--- im-tcp/src/main/resources/config.yml | 6 +++--- pom.xml | 8 +++++++- 16 files changed, 56 insertions(+), 39 deletions(-) diff --git a/.gitignore b/.gitignore index 1a0b87a..3fe791b 100644 --- a/.gitignore +++ b/.gitignore @@ -20,3 +20,6 @@ *.njsproj *.sln .DS_Store +/docker/mysql/data/ +/docker/redis/data/ +/logs/ diff --git a/copy.sh b/copy.sh index a010b8b..285e03a 100644 --- a/copy.sh +++ b/copy.sh @@ -55,12 +55,15 @@ echo ">>>>>>>>>>>>>>>>>" jar_files=( "im-domain/target/im-domain-1.0-SNAPSHOT.jar" "im-message-store/target/im-message-store-1.0-SNAPSHOT.jar" - "im-tcp/target/im-tcp-1.0-SNAPSHOT.jar" + "im-tcp/target/im-tcp-1.0-SNAPSHOT-jar-with-dependencies.jar" ) for index in "${!jar_files[@]}"; do target_file="${target_directories[$index]}/jar/$(basename "${jar_files[$index]}")" target_file_without_version="${target_directories[$index]}/jar/$(basename "${jar_files[$index]}" "-1.0-SNAPSHOT.jar").jar" + if [[ "${jar_files[$index]}" == *"jar-with-dependencies.jar" ]]; then + target_file_without_version="${target_directories[$index]}/jar/$(basename "${jar_files[$index]}" "-1.0-SNAPSHOT-jar-with-dependencies.jar").jar" + fi echo "开始复制 ${jar_files[$index]} .." cp "${jar_files[$index]}" "$target_file" mv "$target_file" "$target_file_without_version" diff --git a/docker-compose.yml b/docker-compose.yml index bb60893..03b7f5b 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -4,7 +4,7 @@ services: # MySQL 容器 im-mysql: container_name: im-mysql - image: mysql:8.0.11 + image: mysql:8.0.33 build: context: ./docker/mysql restart: always @@ -151,3 +151,4 @@ services: networks: im-network: + driver: host diff --git a/docker/mysql/Dockerfile b/docker/mysql/Dockerfile index 03cd276..d810bb1 100644 --- a/docker/mysql/Dockerfile +++ b/docker/mysql/Dockerfile @@ -1,5 +1,5 @@ # 基础镜像 -FROM mysql:8.0.11 +FROM mysql:8.0.33 # author MAINTAINER BanTanger diff --git a/im-domain/Dockerfile b/im-domain/Dockerfile index 86c269a..fb3fa82 100644 --- a/im-domain/Dockerfile +++ b/im-domain/Dockerfile @@ -10,4 +10,4 @@ COPY ./jar/im-domain.jar /opt/application/im-domain.jar COPY application-docker.yml /opt/application/application.yml COPY logback-spring.xml /opt/application/logback-spring.xml -ENTRYPOINT ["java", "-jar" ,"/opt/application/im-domain.jar"] +ENTRYPOINT ["java", "-jar" ,"/opt/application/im-domain.jar", "--logging.config=/opt/application/logback-spring.xml"] diff --git a/im-domain/src/main/resources/application-docker.yml b/im-domain/src/main/resources/application-docker.yml index 03d6129..753e5ed 100644 --- a/im-domain/src/main/resources/application-docker.yml +++ b/im-domain/src/main/resources/application-docker.yml @@ -1,17 +1,17 @@ server: - port: 8000 + port: 18000 spring: profiles: active: dev datasource: driver-class-name: com.mysql.cj.jdbc.Driver - password: 123456 - url: jdbc:mysql://127.0.0.1:3306/im_core?serverTimezone=UTC&useSSL=false&characterEncoding=UTF8 + password: whalesharkim + url: jdbc:mysql://im-mysql:3306/im_core?serverTimezone=UTC&useSSL=false&characterEncoding=UTF8&allowPublicKeyRetrieval=true username: root # redis redis: - host: 127.0.0.1 + host: im-redis port: 6379 jedis: pool: @@ -22,9 +22,9 @@ spring: password: whalesharkim # rabbitmq rabbitmq: - host: localhost + host: im-rabbitmq port: 5672 - addresses: localhost + addresses: im-rabbitmq username: admin password: admin @@ -33,7 +33,7 @@ spring: appconfig: privateKey: bantanger - zkAddr: 127.0.0.1:2181 # zk 连接地址 + zkAddr: im-zookeeper:2181 # zk 连接地址 zkConnectTimeOut: 5000 # zk 超时时间 imRouteModel: 3 # 路由策略 1.轮询 2.随机 3.一致性hash consistentHashModel: 1 # 一致性哈希底层调用数据结构 1.TreeMap 2.自定义 Map 3.待扩展 diff --git a/im-domain/src/main/resources/application.yml b/im-domain/src/main/resources/application.yml index 96cfb6d..e269a8b 100644 --- a/im-domain/src/main/resources/application.yml +++ b/im-domain/src/main/resources/application.yml @@ -6,8 +6,8 @@ spring: active: dev datasource: driver-class-name: com.mysql.cj.jdbc.Driver - password: 123456 - url: jdbc:mysql://127.0.0.1:3306/im_core?serverTimezone=UTC&useSSL=false&characterEncoding=UTF8 + password: whalesharkim + url: jdbc:mysql://127.0.0.1:3306/im_core?serverTimezone=UTC&useSSL=false&characterEncoding=UTF8&allowPublicKeyRetrieval=true username: root # redis redis: @@ -19,7 +19,7 @@ spring: max-idle: 100 max-wait: 1000 min-idle: 10 - password: + password: whalesharkim # rabbitmq rabbitmq: host: localhost diff --git a/im-message-store/Dockerfile b/im-message-store/Dockerfile index 278f2d4..948d466 100644 --- a/im-message-store/Dockerfile +++ b/im-message-store/Dockerfile @@ -10,4 +10,4 @@ COPY ./jar/im-message-store.jar /opt/application/im-message-store.jar COPY application-docker.yml /opt/application/application.yml COPY logback-spring.xml /opt/application/logback-spring.xml -ENTRYPOINT ["java", "-jar" ,"/opt/application/im-message-store.jar"] +ENTRYPOINT ["java", "-jar" ,"/opt/application/im-message-store.jar", "--logging.config=/opt/application/logback-spring.xml"] diff --git a/im-message-store/pom.xml b/im-message-store/pom.xml index b9ce41a..c017bba 100644 --- a/im-message-store/pom.xml +++ b/im-message-store/pom.xml @@ -69,16 +69,20 @@ - org.apache.maven.plugins - maven-jar-plugin - 3.2.0 + org.springframework.boot + spring-boot-maven-plugin - - - com.bantanger.im.message.Application - - + + com.bantanger.im.message.Application + ZIP + + + + repackage + + + diff --git a/im-message-store/src/main/resources/application-docker.yml b/im-message-store/src/main/resources/application-docker.yml index 6ab5029..3b798ea 100644 --- a/im-message-store/src/main/resources/application-docker.yml +++ b/im-message-store/src/main/resources/application-docker.yml @@ -6,12 +6,12 @@ spring: active: dev datasource: driver-class-name: com.mysql.jdbc.Driver - password: 123456 - url: jdbc:mysql://127.0.0.1:3306/im_core?serverTimezone=UTC&useSSL=false&characterEncoding=UTF8 + password: whalesharkim + url: jdbc:mysql://im-mysql:3306/im_core?serverTimezone=UTC&useSSL=false&characterEncoding=UTF8&allowPublicKeyRetrieval=true username: root redis: - host: 127.0.0.1 + host: im-redis port: 6379 jedis: pool: @@ -21,9 +21,9 @@ spring: min-idle: 10 password: whalesharkim rabbitmq: - host: localhost + host: im-rabbitmq port: 5672 - addresses: localhost + addresses: im-rabbitmq username: admin password: admin # virtual-host: diff --git a/im-message-store/src/main/resources/application.yml b/im-message-store/src/main/resources/application.yml index 9b9edd1..b145c2f 100644 --- a/im-message-store/src/main/resources/application.yml +++ b/im-message-store/src/main/resources/application.yml @@ -6,8 +6,8 @@ spring: active: dev datasource: driver-class-name: com.mysql.jdbc.Driver - password: 123456 - url: jdbc:mysql://127.0.0.1:3306/im_core?serverTimezone=UTC&useSSL=false&characterEncoding=UTF8 + password: whalesharkim + url: jdbc:mysql://127.0.0.1:3306/im_core?serverTimezone=UTC&useSSL=false&characterEncoding=UTF8&allowPublicKeyRetrieval=true username: root redis: diff --git a/im-tcp/pom.xml b/im-tcp/pom.xml index 09bf1a3..bd0d488 100644 --- a/im-tcp/pom.xml +++ b/im-tcp/pom.xml @@ -54,7 +54,7 @@ - jar + jar-with-dependencies diff --git a/im-tcp/src/main/resources/WebSocket.html b/im-tcp/src/main/resources/WebSocket.html index 9d2809a..6bb94ff 100644 --- a/im-tcp/src/main/resources/WebSocket.html +++ b/im-tcp/src/main/resources/WebSocket.html @@ -467,7 +467,7 @@ //如果浏览器支持WebSocket if (window.WebSocket) { //参数就是与服务器连接的地址 - socket = new WebSocket("ws://localhost:19001/ws"); + socket = new WebSocket("ws://localhost:19002/ws"); //客户端收到服务器消息的时候就会执行这个回调方法 socket.onmessage = function (event) { var ta = document.getElementById("responseText"); diff --git a/im-tcp/src/main/resources/config-docker.yml b/im-tcp/src/main/resources/config-docker.yml index bfd0b28..369685a 100644 --- a/im-tcp/src/main/resources/config-docker.yml +++ b/im-tcp/src/main/resources/config-docker.yml @@ -21,15 +21,15 @@ im: poolConnTimeout: 3000 # 连接超时时间(秒) poolSize: 10 # 连接池大小 single: #redis单机配置 - address: 127.0.0.1:6379 + address: im-redis:6379 rabbitmq: - host: 127.0.0.1 + host: im-rabbitmq port: 5672 virtualHost: / userName: admin password: admin zkConfig: - zkAddr: 127.0.0.1:2181 + zkAddr: im-zookeeper:2181 zkConnectTimeOut: 5000 \ No newline at end of file diff --git a/im-tcp/src/main/resources/config.yml b/im-tcp/src/main/resources/config.yml index 717d2a6..0a338f8 100644 --- a/im-tcp/src/main/resources/config.yml +++ b/im-tcp/src/main/resources/config.yml @@ -1,11 +1,11 @@ im: - tcpPort: 9001 + tcpPort: 19001 webSocketPort: 19002 bossThreadSize: 1 workThreadSize: 8 heartBeatTime: 3000 # 心跳超时时间 单位毫秒 brokerId: 1001 - logicUrl: http://127.0.0.1:8000/v1 # Feign RPC 调用业务层 + logicUrl: http://localhost:18000/v1 # Feign RPC 调用业务层 loginModel: 3 # 多端同步模式: 1 只允许一端在线,手机/电脑/web 踢掉除了本 client+imei 的设备 # 2 允许手机/电脑的一台设备 + web 在线 踢掉除了本 client+imei 的非 web 端设备 @@ -15,7 +15,7 @@ im: redis: mode: single # 单机模式:single 哨兵式:sentinel 集群模式:cluster database: 0 - password: + password: whalesharkim timeout: 3000 # 超时时间 poolMinIdle: 4 #最小空闲数 poolConnTimeout: 3000 # 连接超时时间(秒) diff --git a/pom.xml b/pom.xml index b30b03a..bbdf9d3 100644 --- a/pom.xml +++ b/pom.xml @@ -44,7 +44,13 @@ io.netty netty-all - 4.1.77.Final + 4.1.94.Final + + + io.netty + netty-resolver-dns-native-macos + 4.1.94.Final + osx-aarch_64