docker: 修改nginx-docker 构建文件

dev_2.1.0
xueqingkun 1 year ago
parent bfc81011cc
commit 83a2451fae

@ -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;
}
}

@ -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;
}
}

@ -4,15 +4,31 @@
set -e
# /etc/nginx/conf.d/servers.conf 文件不存在,就通过环境变量 UPSTREAM_WEB_SERVERSUPSTREAM_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

@ -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
# 查看日志是否正常

Loading…
Cancel
Save