Nginx服务配置
注意
Nginx这里提供的部署方式,是用于学习了解如果在K8S环境部署,方便在客户的环境部署时有个参考。在Rancher中我们提供的Ingress进行代理配置,不建议再部署一个nginx进行代理。
1、nginx反向代理配置文件
通过ConfigMap
来配置nginx反向代理,该配置请以实际情况进行应用的代理配置,包括负载配置、WebSocker的配置
# 数据中台应用两个节点负载配置
upstream DmmlabServerPolling {
server app01:8810;
server app02:8810;
}
# websocket配置
map $http_upgrade $connection_upgrade {
default upgrade;
'' close;
}
# 数据中台应用代理配置
server {
listen 80;
server_name localhost;
underscores_in_headers on;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
try_files $uri $uri/ /dmmlab/index.html;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
# 数据中台框架-后端
location /dmmlab-server {
# 支持websocket
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
proxy_pass http://DmmlabServerPolling;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_connect_timeout 1;
}
}
2、Nginx index文件修改
修改nginx index文件,一般访问IP或域名提供自动转发到应用的登录页面
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="refresh" content="0;url=/dmmlab/">
</head>
</html>
将上面两个配置通过ConfigMap
来配置映射
服务部署
名称:dmm-nginx (自定义,该名称同时做为服务名)
Docker镜像:172.16.102.2:5000/library/bitnami/nginx:1.23.4
容器端口:80(自定义配置修改的端口)、8080(默认的端口)
添加配置映射卷
,将创建的两个添加进来
卷名:dmmlab-server-block (可自定义)
默认模式:644 (权限太小文件可能会挂载没有权限)
容器路径:/opt/bitnami/nginx/conf/server_blocks/dmmlab_server_block.conf,子路径 dmmlab_server_block.conf (可以自定义,保持 跟ConfigMap的一致)
卷名:dmmlab-index (可自定义)
容器路径:/app/index.html 子路径:index.html
配置检查
如果配置没有问题则可以正常启动,启动完成后,可以点击执行命名行
进到容器里查看
检查配置文件是否挂载正常