diff --git a/docker/virtual-patient-graph/Dockerfile b/docker/virtual-patient-graph/Dockerfile index f18bcf13..22a91ff9 100644 --- a/docker/virtual-patient-graph/Dockerfile +++ b/docker/virtual-patient-graph/Dockerfile @@ -5,4 +5,4 @@ FROM registry.cn-beijing.aliyuncs.com/longbei/jdk:latest EXPOSE 8892 # 设置启动命令 -ENTRYPOINT ["java","-Xms256m","-Xmx1g","-Dspring.profiles.active=prod","-Dfile.encoding=utf-8","-Duser.timezone=Asia/Shanghai","-jar","/data/vp/virtual-patient-graph-1.0-SNAPSHOT.jar"] \ No newline at end of file +ENTRYPOINT ["java","-Xss2m","-Xms256m","-Xmx1g","-Dspring.profiles.active=prod","-Dfile.encoding=utf-8","-Duser.timezone=Asia/Shanghai","-jar","/data/vp/virtual-patient-graph-1.0-SNAPSHOT.jar"] \ No newline at end of file diff --git a/docker/生产环境服务部署文档.md b/docker/生产环境服务部署文档.md index 474454c3..9a83c343 100644 --- a/docker/生产环境服务部署文档.md +++ b/docker/生产环境服务部署文档.md @@ -5,7 +5,7 @@ 1. 问诊系统 2. 后端管理系统 3. nginx前端服务 -4. rasa对话服务 +~~4. rasa对话服务~~ 5. mysql数据库 6. paddlespeech语音文字转换服务 7. minio对象存储服务 @@ -53,7 +53,7 @@ docker network create virtual-patient-network # **启用网络环境服务,生产环境请使用** # 生产环境端口号为18498 # 很奇怪,这里配置密码不生效,用nacos进去之后再手动改 - docker run -d -p 18498:8848 -e MODE=standalone -e NACOS_AUTH_IDENTITY_KEY=nacos -e NACOS_AUTH_IDENTITY_VALUE='#Yaxin0504' -v /data/nacos/:/home/nacos/data --name nacos --network virtual-patient-network --restart=always nacos/nacos-server:v1.4.5 + docker run -d -p 18498:8848 -e MODE=standalone -e NACOS_AUTH_IDENTITY_KEY=nacos -e NACOS_AUTH_IDENTITY_VALUE='#Yaxin0504' -v /data/nacos/:/home/nacos/data --name virtual-patient-nacos --network virtual-patient-network --restart=always nacos/nacos-server:v1.4.5 # 验证容器运行 docker ps | grep nacos # 查看日志是否正常 @@ -70,7 +70,7 @@ docker network create virtual-patient-network # 拉取镜像 docker pull mysql:5.7 # 启动服务 - docker run -d -p 3306:3306 -v /var/lib/mysql:/var/lib/mysql --name vp-mysql -e MYSQL_ROOT_PASSWORD='#Yaxin0504' mysql:5.7 + docker run -d -p 3306:3306 -v /var/lib/mysql:/var/lib/mysql --name virtual-patient-mysql -e MYSQL_ROOT_PASSWORD='#Yaxin0504' mysql:5.7 # **启用网络环境服务,生产环境请使用** # 生产环境端口号为37088 @@ -84,7 +84,7 @@ docker network create virtual-patient-network docker cp mysql/virtual_patient_v2.0.0.sql virtual-patient-mysql:/home/virtual_patient_v2.0.0.sql docker exec -it vp-mysql /bin/bash - mysql -uroot -p123456; + mysql -uroot; create database virtual_patient; use virtual_patient; source /home/virtual_patient_v2.0.0.sql; @@ -118,7 +118,7 @@ mkdir /data/vp/minio/data # 拉最新版本 # docker pull minio/minio # 导入镜像 -docker load -i minio/virtual-patient-minio.tar.gz +docker load -i virtual-patient-minio.tar.gz # 启动 docker run -it --name minio -p 9002:9000 -p 9001:9001 -d \ -v /data/vp/minio/data:/data \ @@ -162,7 +162,7 @@ mv virtual-patient-bucket-prod /data/vp/minio/data docker ps | grep virtual-patient-redis ~~~ -## RASA对话服务 +## ~~RASA对话服务~~ ### 首次部署 @@ -300,7 +300,7 @@ mv virtual-patient-bucket-prod /data/vp/minio/data ### 首次部署 ~~~shell - # 进入virtual-patient-manage文件夹,依次执行命令 + # 进入virtual-patient-graph文件夹,依次执行命令 # 构建镜像 docker build -t virtual-patient-graph:1.0.0 . # 验证镜像是否存在 @@ -308,7 +308,7 @@ mv virtual-patient-bucket-prod /data/vp/minio/data # 运行容器 docker run --name virtual-patient-graph -p 8892:8892 -v /data/vp:/data/vp -d virtual-patient-graph:1.0.0 # **启用网络环境服务,生产环境请使用** - docker run --name virtual-patient-graph -p 8892:8892 -v /data/vp:/data/vp --network virtual-patient-network -d virtual-patient-manage:1.0.0 --spring.profiles.active=prod + docker run --name virtual-patient-graph -p 8892:8892 -v /data/vp:/data/vp --network virtual-patient-network -d virtual-patient-graph:1.0.0 --spring.profiles.active=prod # 验证容器运行 docker ps | grep virtual-patient-graph # 查看日志是否正常 @@ -339,7 +339,7 @@ mv virtual-patient-bucket-prod /data/vp/minio/data # UPSTREAM_MANAGE_SERVERS:虚拟病人后端管理系统服务的ip:port # **启用网络环境服务,生产环境请使用 不放80,只放https的443** **如果某一个服务没有部署可以不填该服务的地址** - docker run --name virtual-patient-nginx -p 443:443 --network virtual-patient-network -v /data/vp/dist:/usr/share/nginx/html/dist -d -e UPSTREAM_WEB_SERVERS=virtual-patient-web:8899 -e UPSTREAM_MANAGE_SERVERS=virtual-patient-manage:8891 -e UPSTREAM_RASA_SERVERS=virtual-patient-rasa-manage:8990 -e UPSTREAM_GRAPH_SERVERS=virtual-patient-graph:8992 virtual-patient-nginx:1.1.0 + docker run --name virtual-patient-nginx -p 443:443 --network virtual-patient-network -v /data/vp/dist:/usr/share/nginx/html/dist -d -e UPSTREAM_WEB_SERVERS=virtual-patient-web:8899 -e UPSTREAM_MANAGE_SERVERS=virtual-patient-manage:8891 -e UPSTREAM_RASA_SERVERS=virtual-patient-rasa-manage:8990 -e UPSTREAM_GRAPH_SERVERS=virtual-patient-graph:8892 virtual-patient-nginx:1.1.0 # 验证容器运行 docker ps # 查看日志是否正常 diff --git a/virtual-patient-graph/src/main/resources/bootstrap-prod.yml b/virtual-patient-graph/src/main/resources/bootstrap-prod.yml index 0b734ee1..54d0b11e 100644 --- a/virtual-patient-graph/src/main/resources/bootstrap-prod.yml +++ b/virtual-patient-graph/src/main/resources/bootstrap-prod.yml @@ -1,52 +1,10 @@ spring: - datasource: - druid: - driver-class-name: com.mysql.cj.jdbc.Driver - url: jdbc:mysql://virtual-patient-mysql:37088/virtual_patient?useUnicode=true&characterEncoding=utf-8&useSSL=true&nullCatalogMeansCurrent=true&serverTimezone=GMT%2B8 - username: root - password: 'Yaxin0504' - redis: - host: virtual-patient-redis - port: 11379 - password: #Yaxin0504 - -nebula: - ngbatis: - use-session-pool: true - # 127.0.0.1:9669, ip:port, .... - hosts: virtual-patient-nebula-graphd:9669 - username: root - password: 123456 - # 注意,新建使用的时候,必须有一个库 - space: virtual_patient - # http客户端使用 - minConnSize: 5 - maxConnSize: 10 - timeout: 300000 - idleTime: 180000 - # ngbatis使用连接池配置 - pool-config: - # 连接池中最小空闲连接数 - min-conns-size: 0 - # 连接池中最大空闲连接数 - max-conns-size: 10 - # 客户端同服务端建立连接的超时时间设置,单位为 ms;超过设定时间未建立起连接,则报错 - timeout: 0 - # 连接空闲时间,为 0 表示连接永不删除,单位为 ms - idle-time: 0 - # 连接池检测空闲连接的时间间隔,为 -1 表示不进行检测 - interval-idle: -1 - # 连接等候时间,超过则不再等候连接 - wait-time: 0 - # 集群允许最小的服务可用率,1.0 表示为所有机器 graphd 可用,0.25 表示集群中 1/4 机器可用即可 - min-cluster-health-rate: 1.0 - # 是否允许 SSL 连接,目前暂不支持 - enable-ssl: false -cql: - parser: - # 更换开发者自定义的 xml 所在位置 - mapper-locations: nebulaMapper/**/*.xml # 默认为 mapper/**/*.xml -# nebula上传文件使用 -path: - uploadFilePath: /opt/project/java/graphFile - importerPath: /data1/opt \ No newline at end of file + cloud: + nacos: + config: + server-addr: virtual-patient-nacos:8848 + file-extension: yml + namespace: 4c78105a-55bc-4cb9-b672-44557a514b31 + discovery: + server-addr: virtual-patient-nacos:8848 + namespace: 4c78105a-55bc-4cb9-b672-44557a514b31 \ No newline at end of file diff --git a/virtual-patient-manage/src/main/resources/application-prod.yml b/virtual-patient-manage/src/main/resources/application-prod.yml deleted file mode 100644 index 91d14cdd..00000000 --- a/virtual-patient-manage/src/main/resources/application-prod.yml +++ /dev/null @@ -1,67 +0,0 @@ -#服务器端口 -server: - port: 8891 - servlet: - context-path: /virtual-patient-manage - undertow: - # HTTP post内容的最大大小。当值为-1时,默认值为大小是无限的 - max-http-post-size: -1 - # 以下的配置会影响buffer,这些buffer会用于服务器连接的IO操作,有点类似netty的池化内存管理 - # 每块buffer的空间大小,越小的空间被利用越充分 - buffer-size: 512 - # 是否分配的直接内存 - direct-buffers: true - - -spring: - application: - name: virtual-patient-manage - servlet: - multipart: - max-file-size: 100MB - max-request-size: 100MB - ##数据源配置 - datasource: - type: com.alibaba.druid.pool.DruidDataSource - druid: - driver-class-name: com.mysql.cj.jdbc.Driver - url: jdbc:mysql://virtual-patient-mysql:37088/virtual_patient?useUnicode=true&characterEncoding=utf-8&useSSL=true&nullCatalogMeansCurrent=true&serverTimezone=GMT%2B8 - username: root - password: '#Yaxin0504' - initial-size: 5 # 初始化大小 - min-idle: 10 # 最小连接数 - max-active: 20 # 最大连接数 - max-wait: 60000 # 获取连接时的最大等待时间 - min-evictable-idle-time-millis: 300000 # 一个连接在池中最小生存的时间,单位是毫秒 - time-between-eviction-runs-millis: 60000 # 多久才进行一次检测需要关闭的空闲连接,单位是毫秒 - filters: stat,wall # 配置扩展插件:stat-监控统计,log4j-日志,wall-防火墙(防止SQL注入),去掉后,监控界面的sql无法统计 - validation-query: SELECT 1 # 检测连接是否有效的 SQL语句,为空时以下三个配置均无效 - test-on-borrow: true # 申请连接时执行validationQuery检测连接是否有效,默认true,开启后会降低性能 - test-on-return: true # 归还连接时执行validationQuery检测连接是否有效,默认false,开启后会降低性能 - test-while-idle: true # 申请连接时如果空闲时间大于timeBetweenEvictionRunsMillis,执行validationQuery检测连接是否有效,默认false,建议开启,不影响性能 - stat-view-servlet: - enabled: false # 是否开启 StatViewServlet - filter: - stat: - enabled: true # 是否开启 FilterStat,默认true - log-slow-sql: true # 是否开启 慢SQL 记录,默认false - slow-sql-millis: 5000 # 慢 SQL 的标准,默认 3000,单位:毫秒 - merge-sql: false # 合并多个连接池的监控数据,默认false - redis: - host: virtual-patient-redis - port: 11379 - password: #Yaxin0504 - -mybatis-plus: - mapper-locations: classpath*:mapper/**/*.xml - configuration: - log-impl: org.apache.ibatis.logging.stdout.StdOutImpl - -minio: - url: http://virtual-patient-minio:11901 - accessKey: admin - secretKey: #Yaxin0504 - bucketName: virtual-patient-bucket-prod - -# 相似度匹配系统URL -qaSimilarity: virtual-patient-qa:8711 \ No newline at end of file diff --git a/virtual-patient-manage/src/main/resources/bootstrap-prod.yml b/virtual-patient-manage/src/main/resources/bootstrap-prod.yml new file mode 100644 index 00000000..54d0b11e --- /dev/null +++ b/virtual-patient-manage/src/main/resources/bootstrap-prod.yml @@ -0,0 +1,10 @@ +spring: + cloud: + nacos: + config: + server-addr: virtual-patient-nacos:8848 + file-extension: yml + namespace: 4c78105a-55bc-4cb9-b672-44557a514b31 + discovery: + server-addr: virtual-patient-nacos:8848 + namespace: 4c78105a-55bc-4cb9-b672-44557a514b31 \ No newline at end of file diff --git a/virtual-patient-web/src/main/resources/application-prod.yml b/virtual-patient-web/src/main/resources/application-prod.yml deleted file mode 100644 index fbb6cd6b..00000000 --- a/virtual-patient-web/src/main/resources/application-prod.yml +++ /dev/null @@ -1,72 +0,0 @@ -#服务器端口 -server: - port: 8899 - servlet: - context-path: /virtual-patient - undertow: - # HTTP post内容的最大大小。当值为-1时,默认值为大小是无限的 - max-http-post-size: -1 - # 以下的配置会影响buffer,这些buffer会用于服务器连接的IO操作,有点类似netty的池化内存管理 - # 每块buffer的空间大小,越小的空间被利用越充分 - buffer-size: 512 - # 是否分配的直接内存 - direct-buffers: true - -spring: - application: - name: virtual-patient - servlet: - multipart: - max-file-size: 100MB - max-request-size: 100MB - ##数据源配置 - datasource: - type: com.alibaba.druid.pool.DruidDataSource - druid: - driver-class-name: com.mysql.cj.jdbc.Driver - url: jdbc:mysql://virtual-patient-mysql:37088/virtual_patient?useUnicode=true&characterEncoding=utf-8&useSSL=true&nullCatalogMeansCurrent=true&serverTimezone=GMT%2B8 - username: root - password: '#Yaxin0504' - initial-size: 5 # 初始化大小 - min-idle: 10 # 最小连接数 - max-active: 20 # 最大连接数 - max-wait: 60000 # 获取连接时的最大等待时间 - min-evictable-idle-time-millis: 300000 # 一个连接在池中最小生存的时间,单位是毫秒 - time-between-eviction-runs-millis: 60000 # 多久才进行一次检测需要关闭的空闲连接,单位是毫秒 - filters: stat,wall # 配置扩展插件:stat-监控统计,log4j-日志,wall-防火墙(防止SQL注入),去掉后,监控界面的sql无法统计 - validation-query: SELECT 1 # 检测连接是否有效的 SQL语句,为空时以下三个配置均无效 - test-on-borrow: true # 申请连接时执行validationQuery检测连接是否有效,默认true,开启后会降低性能 - test-on-return: true # 归还连接时执行validationQuery检测连接是否有效,默认false,开启后会降低性能 - test-while-idle: true # 申请连接时如果空闲时间大于timeBetweenEvictionRunsMillis,执行validationQuery检测连接是否有效,默认false,建议开启,不影响性能 - stat-view-servlet: - enabled: false # 是否开启 StatViewServlet - filter: - stat: - enabled: true # 是否开启 FilterStat,默认true - log-slow-sql: true # 是否开启 慢SQL 记录,默认false - slow-sql-millis: 5000 # 慢 SQL 的标准,默认 3000,单位:毫秒 - merge-sql: false # 合并多个连接池的监控数据,默认false - redis: - host: virtual-patient-redis - port: 11379 - password: #Yaxin0504 - -minio: - url: http://virtual-patient-minio:11901 - accessKey: admin - secretKey: #Yaxin0504 - bucketName: virtual-patient-bucket-prod - - -mybatis-plus: - mapper-locations: classpath*:mapper/**/*.xml - configuration: - log-impl: org.apache.ibatis.logging.stdout.StdOutImpl - -paddle-speech: - # https://github.com/PaddlePaddle/PaddleSpeech/wiki/PaddleSpeech-Server-RESTful-API - tts: http://virtual-patient-paddle-speech:8090/paddlespeech/tts - asr: http://virtual-patient-paddle-speech:8090/paddlespeech/asr - -# 相似度匹配系统URL -qaSimilarity: virtual-patient-qa:8711 \ No newline at end of file diff --git a/virtual-patient-web/src/main/resources/bootstrap-prod.yml b/virtual-patient-web/src/main/resources/bootstrap-prod.yml new file mode 100644 index 00000000..54d0b11e --- /dev/null +++ b/virtual-patient-web/src/main/resources/bootstrap-prod.yml @@ -0,0 +1,10 @@ +spring: + cloud: + nacos: + config: + server-addr: virtual-patient-nacos:8848 + file-extension: yml + namespace: 4c78105a-55bc-4cb9-b672-44557a514b31 + discovery: + server-addr: virtual-patient-nacos:8848 + namespace: 4c78105a-55bc-4cb9-b672-44557a514b31 \ No newline at end of file