diff --git a/docker/nginx/docs/conf.d/http.conf b/docker/nginx/docs/conf.d/http.conf index 89ebb516..23df52c7 100644 --- a/docker/nginx/docs/conf.d/http.conf +++ b/docker/nginx/docs/conf.d/http.conf @@ -6,56 +6,60 @@ server { #access_log /var/log/nginx/host.access.log main; client_max_body_size 20M; # 设置客户端请求的最大上传大小为 20MB,可以根据实际情况修改 - location / { - root /usr/share/nginx/html/dist; - index index.html index.htm; - } - location /rasa/ { - root /usr/share/nginx/html/; - index rasa.html rasa.htm; - } - - error_page 500 502 503 504 /50x.html; - location = /50x.html { - root /usr/share/nginx/html/dist; - } - - # 前台后端服务 - location /virtual-patient/ { - proxy_pass http://web_servers/virtual-patient/; - proxy_set_header Host $http_host; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header X-Forwarded-Proto $scheme; - } - - # 前台文件服务代理到后管 - location /virtual-patient/fileManage/ { - proxy_pass http://manage_servers/virtual-patient-manage/fileManage/; - proxy_set_header Host $http_host; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header X-Forwarded-Proto $scheme; - } - - # websocket 代理服务 - location /virtual-patient-websocket/ { - proxy_pass http://web_servers/virtual-patient/; - proxy_http_version 1.1; - proxy_set_header Upgrade $http_upgrade; - proxy_set_header Connection "Upgrade"; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header X-Forwarded-Proto $scheme; - } - - # 后管后端服务 - location /virtual-patient-manage/ { - proxy_pass http://manage_servers/virtual-patient-manage/; - proxy_set_header Host $http_host; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header X-Forwarded-Proto $scheme; - } + location / { + root /usr/share/nginx/html/dist; + index index.html index.htm; + # add_header Cache-Control no-store; + } + + error_page 500 502 503 504 /50x.html; + location = /50x.html { + root /usr/share/nginx/html/dist; + } + + # 前台后端服务 + location /virtual-patient/ { + proxy_pass http://web_servers/virtual-patient/; + proxy_set_header Host $http_host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + } + + # 前台文件服务代理到后管 + location /virtual-patient/fileManage/ { + proxy_pass http://manage_servers/virtual-patient-manage/fileManage/; + proxy_set_header Host $http_host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + } + + # 后管后端服务 + location /virtual-patient-manage/ { + proxy_pass http://manage_servers/virtual-patient-manage/; + proxy_set_header Host $http_host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + } + + # rasa 服务 + location /virtual-patient-rasa/ { + proxy_pass http://rasa_servers/virtual-patient-rasa/; + proxy_set_header Host $http_host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + } + + # 知识图谱服务 + location /virtual-patient-graph/ { + proxy_pass http://graph_servers/virtual-patient-graph/; + proxy_set_header Host $http_host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + } } \ No newline at end of file diff --git a/docker/nginx/docs/conf.d/https.conf b/docker/nginx/docs/conf.d/https.conf index 31c409f6..d4186e63 100644 --- a/docker/nginx/docs/conf.d/https.conf +++ b/docker/nginx/docs/conf.d/https.conf @@ -25,13 +25,9 @@ server { location / { root /usr/share/nginx/html/dist; index index.html index.htm; + # add_header Cache-Control no-store; } - - location /rasa/ { - root /usr/share/nginx/html/; - index rasa.html rasa.htm; - } - + error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html/dist; @@ -45,7 +41,7 @@ server { proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } - + # 前台文件服务代理到后管 location /virtual-patient/fileManage/ { proxy_pass http://manage_servers/virtual-patient-manage/fileManage/; @@ -55,17 +51,6 @@ server { proxy_set_header X-Forwarded-Proto $scheme; } - # websocket 代理服务 - location /virtual-patient-websocket/ { - proxy_pass http://web_servers/virtual-patient/; - proxy_http_version 1.1; - proxy_set_header Upgrade $http_upgrade; - proxy_set_header Connection "Upgrade"; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header X-Forwarded-Proto $scheme; - } - # 后管后端服务 location /virtual-patient-manage/ { proxy_pass http://manage_servers/virtual-patient-manage/; @@ -74,5 +59,23 @@ server { proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } - -} + + # rasa 服务 + location /virtual-patient-rasa/ { + proxy_pass http://rasa_servers/virtual-patient-rasa/; + proxy_set_header Host $http_host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + } + + # 知识图谱服务 + location /virtual-patient-graph/ { + proxy_pass http://graph_servers/virtual-patient-graph/; + proxy_set_header Host $http_host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + } + +} \ No newline at end of file diff --git a/docker/nginx/docs/docker-entrypoint.sh b/docker/nginx/docs/docker-entrypoint.sh index 69c6d004..2ae42575 100644 --- a/docker/nginx/docs/docker-entrypoint.sh +++ b/docker/nginx/docs/docker-entrypoint.sh @@ -4,15 +4,31 @@ set -e # /etc/nginx/conf.d/servers.conf 文件不存在,就通过环境变量 UPSTREAM_WEB_SERVERS,UPSTREAM_MANAGE_SERVERS生成/data/vp/nginx/conf/servers.conf if [ ! -f "/data/vp/nginx/conf/servers.conf" ]; then - echo "BEGIN REPLACE SERVERS.CONF ...." - if [ -z "${UPSTREAM_MANAGE_SERVERS}" ]; then - echo "ENVIRONMENT VARIABLE UPSTREAM_MANAGE_SERVERS is empty, use UPSTREAM_WEB_SERVERS ...." - export UPSTREAM_MANAGE_SERVERS="${UPSTREAM_WEB_SERVERS}" - fi - envsubst '$UPSTREAM_WEB_SERVERS' < /data/vp/nginx/conf/servers.conf.template> /data/vp/nginx/conf/servers.tmp - envsubst '$UPSTREAM_MANAGE_SERVERS' < /data/vp/nginx/conf/servers.tmp > /data/vp/nginx/conf/servers.conf - - else + echo "BEGIN REPLACE SERVERS.CONF ...." + if [ -z "${UPSTREAM_MANAGE_SERVERS}" ]; then + # UPSTREAM_MANAGE_SERVERS 设置默认值 + echo "ENVIRONMENT VARIABLE UPSTREAM_MANAGE_SERVERS is empty, use UPSTREAM_WEB_SERVERS ...." + export UPSTREAM_MANAGE_SERVERS="${UPSTREAM_WEB_SERVERS}" + fi + + if [ -z "${UPSTREAM_RASA_SERVERS}" ]; then + # UPSTREAM_RASA_SERVERS 设置默认值 + echo "ENVIRONMENT VARIABLE UPSTREAM_RASA_SERVERS is empty, use UPSTREAM_WEB_SERVERS ...." + export UPSTREAM_RASA_SERVERS="${UPSTREAM_WEB_SERVERS}" + fi + + if [ -z "${UPSTREAM_GRAPH_SERVERS}" ]; then + # UPSTREAM_GRAPH_SERVERS 设置默认值 + echo "ENVIRONMENT VARIABLE UPSTREAM_GRAPH_SERVERS is empty, use UPSTREAM_WEB_SERVERS ...." + export UPSTREAM_GRAPH_SERVERS="${UPSTREAM_WEB_SERVERS}" + fi + + # 替换文件中的变量 + envsubst '$UPSTREAM_WEB_SERVERS $UPSTREAM_MANAGE_SERVERS $UPSTREAM_RASA_SERVERS $UPSTREAM_GRAPH_SERVERS' < /data/vp/nginx/conf/servers.conf.template > /data/vp/nginx/conf/servers.conf + + echo "REPLACEMENT COMPLETE" + +else echo "SERVERS.CONF ALREADY EXISTS" fi diff --git a/docker/生产环境服务部署文档.md b/docker/生产环境服务部署文档.md index d655b261..54b1edf9 100644 --- a/docker/生产环境服务部署文档.md +++ b/docker/生产环境服务部署文档.md @@ -283,17 +283,17 @@ mv virtual-patient-bucket-prod /data/vp/minio/data ~~~shell # 进入nginx文件夹,依次执行命令 # 修改 conf.d文件目录下servers.conf.template文件中的$UPSTREAM_WEB_SERVERS,$UPSTREAM_MANAGE_SERVERS - # 构建镜像 - docker build -t virtual-patient-nginx:1.0.0 . + # 构建镜像 1.1.0 + docker build -t virtual-patient-nginx:1.1.0 . # 验证镜像是否存在 docker images | grep virtual-patient-nginx - # 运行容器 - docker run --name virtual-patient-nginx -p 443:443 -v /data/vp/dist:/usr/share/nginx/html/dist -d -e UPSTREAM_WEB_SERVERS={ip}:{port} -e UPSTREAM_MANAGE_SERVERS={ip}:{port} virtual-patient-nginx:1.0.0 + # 运行容器 **如果某一个服务没有部署可以不填该服务的地址** + docker run --name virtual-patient-nginx -p 443:443 -v /data/vp/dist:/usr/share/nginx/html/dist -d -e UPSTREAM_WEB_SERVERS={ip}:{port} -e UPSTREAM_MANAGE_SERVERS={ip}:{port} -e UPSTREAM_RASA_SERVERS={ip}:{port} -e UPSTREAM_GRAPH_SERVERS={ip}:{port} virtual-patient-nginx:1.1.0 # UPSTREAM_WEB_SERVERS:虚拟病人问诊系统服务的ip:port # 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 virtual-patient-nginx:1.0.0 + # **启用网络环境服务,生产环境请使用 不放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 ps # 查看日志是否正常