diff --git a/服务部署文档.md b/服务部署文档.md new file mode 100644 index 00000000..c3357586 --- /dev/null +++ b/服务部署文档.md @@ -0,0 +1,181 @@ +# 虚拟病人服务部署文档 + +## 需要部署的服务列表 + +1. 问诊系统 +2. 后端管理系统 +3. nginx前端服务 +4. rasa对话服务 +5. mysql数据库 +6. paddlespeech语音文字转换服务 +7. minio对象存储服务 + +## 问诊服务部署 + +使用dockerfile的形式进行部署,端口号:8899 + +注意dockerfile中的virtual-patient-web-1.0-SNAPSHOT.jar路径正确 + +~~~dockerfile +# 设置基础镜像 +FROM registry.cn-beijing.aliyuncs.com/longbei/jdk:latest + +# 复制java jar 到容器中 +COPY virtual-patient-web-1.0-SNAPSHOT.jar /data/vp/virtual-patient-web-1.0-SNAPSHOT.jar + +# 暴漏服务端口 +EXPOSE 8899 + +# 设置启动命令 +ENTRYPOINT ["java","-Xms256m","-Xmx1g","-Dspring.profiles.active=prod","-Dfile.encoding=utf-8","-Duser.timezone=Asia/Shanghai","-jar","/data/vp/virtual-patient-rasa-1.0-SNAPSHOT.jar"] +~~~ + +构建镜像并启动 + +~~~shell +# 构建镜像 +docker build -t virtual-patient-web:1.0.0 . +# 验证镜像是否存在 +docker images +# 运行容器 +docker run --name virtual-patient-web -p 8899:8899 -d virtual-patient-web +# 验证容器运行 +docker ps +# 查看日志是否正常 +docker logs -f virtual-patient-web +~~~ + +## 后端管理系统部署 + +使用dockerfile的形式进行部署,端口号:8891 + +注意dockerfile中的virtual-patient-manage-1.0-SNAPSHOT.jar路径正确 + +~~~dockerfile +# 设置基础镜像 +FROM registry.cn-beijing.aliyuncs.com/longbei/jdk:latest + +# 复制java jar 到容器中 +COPY virtual-patient-manage-1.0-SNAPSHOT.jar /data/vp/virtual-patient-manage-1.0-SNAPSHOT.jar + +# 暴漏服务端口 +EXPOSE 8891 + +# 设置启动命令 +ENTRYPOINT ["java","-Xms256m","-Xmx1g","-Dspring.profiles.active=prod","-Dfile.encoding=utf-8","-Duser.timezone=Asia/Shanghai","-jar","/data/vp/virtual-patient-manage-1.0-SNAPSHOT.jar"] +~~~ + +进入virtual-patient-manage文件夹,依次执行命令 + +~~~shell +# 构建镜像 +docker build -t virtual-patient-manage:1.0.0 . +# 验证镜像是否存在 +docker images +# 运行容器 +docker run --name virtual-patient-manage -p 8891:8891 -d virtual-patient-manage +# 验证容器运行 +docker ps +# 查看日志是否正常 +docker logs -f virtual-patient-manage +~~~ + +## Nginx前端服务 + +使用dockerfile的形式进行部署 + +~~~dockerfile +# 设置基础镜像 +FROM nginx:1.25 + +# 复制文件到容器中 +COPY nginx/html /usr/share/nginx/html +COPY nginx/logs /var/log/nginx +COPY nginx/conf.d /etc/nginx/conf.d +COPY nginx/ssl /data/vp/nginx/ssl + +# 暴漏服务端口 +EXPOSE 80 + +# 设置容器的默认入口点 +ENTRYPOINT [ "/docker-entrypoint.sh" ] + +# 设置默认的 CMD 参数 +CMD [ "nginx", "-g", "daemon off;" ] +~~~ + +进入nginx文件夹,依次执行命令 + +~~~shell +# 构建镜像 +docker build -t virtual-patient-nginx:1.0.0 . +# 验证镜像是否存在 +docker images +# 运行容器 +docker run --name virtual-patient-nginx -p 80:80 -d virtual-patient-nginx +# 验证容器运行 +docker ps +# 查看日志是否正常 +docker logs -f virtual-patient-nginx +~~~ + +## RASA对话服务 + +~~~shell +# 加载镜像 +docker load -i virtual-patient-rasa-manager.tar.gz +# 验证镜像是否存在 +docker images +# 运行容器 +docker run --name virtual-patient-rasa-manager -p 5050:5050 -p 8990:8890 -d virtual-patient-rasa-manager +# 验证容器运行 +docker ps +# 查看日志是否正常 +docker logs -f virtual-patient-rasa-manager +~~~ + +## mysql数据库 + +~~~shell +# 首先创建本地文件夹 +mkdir /var/lib/mysql +# 拉取镜像 +docker pull mysql:5.7 +# 启动服务 +docker run -d -p 3306:3306 -v /var/lib/mysql:/var/lib/mysql --name mysql -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7 +~~~ + +启动mysql后,执行数据库初始化脚本 + +## paddlespeech语音文字转换服务 + +~~~shell +# 加载镜像 +docker load -i virtual-patient-paddlespeech.tar.gz +# 验证镜像是否存在 +docker images +# 运行容器 +docker run --name virtual-patient-paddlespeech -p 8090:8090 -d virtual-patient-paddlespeech +# 验证容器运行 +docker ps +# 查看日志是否正常 +docker logs -f virtual-patient-paddlespeech +~~~ + +## MINIO对象存储服务 + +~~~shell +# 首先创建文件夹 +mkdir /data/vp/minio/data +# 将文件mv到对应的文件夹 +mv virtual-patient-bucket-prod /data/vp/minio/data +# 拉最新版本 +docker pull minio/minio +# 启动 +docker run -it --name minio -p 9002:9000 -p 9001:9001 -d \ + -v /data/vp/minio/data:/data \ + -e 'MINIO_ROOT_USER=admin' \ + -e 'MINIO_ROOT_PASSWORD=12345678' \ + minio/minio server /data --console-address ":9001" +~~~ +