ant design pro 、django的k8s镜像部署(前端打包nginx镜像、后端uwsgi-socket启动)

前言:在将前后端的项目做出初版后,初步在虚拟机(centos7)中以本地部署和docker-compose部署两种方式都试验成功后,准备将项目部署到k8s集群中;但是因为技术知识有限(主要是nginx不熟悉),项目迟迟停顿在nginx不能转发动态请求到后端阶段,参考了ant design pro官方的nginx部署和一篇比较全的部署文档,我的问题依旧没有变化。现在将问题全部抛出,因为项目并未开放公网,因此关于k8s的ip端口等放出并无大碍。

求大佬给出指点! 关于接口规范,配置规范都可以!

后端配置

uwsgi.ini

#[uwsgi]

#http=:3033

#static-map=/static=static

#master=true

#file=/opt/husky-back/husky/husky/wsgi.py

#module=husky.wsgi

#buffer-size=65536

[uwsgi]

socket=:3033

#http-socket=127.0.0.1:3033

#http=127.0.0.1:3033

processes=%(%k*2)

threads=%(%k*20)

enable-threads=true

lazy-apps=true

#uid=1000

#gid=1000

chmod-socket=660

master=true

chdir=/opt/husky-back/husky

module=husky.wsgi

buffer-size=65536

后端路由

后端k8s访问方式

前端配置

husky.conf

upstream husky {

server husky-web.pdm-platform.svc.cluster.local:3033;

}

server {

listen 80;

server_name localhost;

# gzip config

gzip on;

gzip_min_length 1k;

gzip_comp_level 9;

gzip_types text/plain application/javascript application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png;

gzip_vary on;

gzip_disable "MSIE [1-6]\.";

root /usr/share/nginx/html;

location / {

try_files $uri $uri/ /index.html;

}

location /api {

uwsgi_pass husky; # 连接远程uWSGI服务器的socket

include /etc/nginx/uwsgi_params;

#uwsgi_connect_timeout 200;

}

# 静态文件

location /static {

root /usr/share/nginx/html;

}

}

Dockerfile

# nginx镜像compose/nginx/Dockerfile

FROM nginx:latest

WORKDIR /etc/nginx/conf.d/

RUN mv default.conf ./default.conf.bak

COPY husky.conf ./

RUN mkdir -p /usr/share/html

COPY ./dist/ /usr/share/nginx/html/

CMD ["nginx","-g","daemon off;"]

目录内容

前端nginx镜像访问方式

报错

进展

在nginx镜像 curl husky-web.pdm-platform.svc.cluster.local:3033 求情后端的ip:port,当后端 uwsgi协议修改为http协议的时候,可以请求到接口; 但是为了更快的处理,尽量改成uwsgi协议传输请求

目前判断为nginx无法正确转发动态请求到后端,假设有一天我更熟悉了nginx配置,说不定就突然醒悟了。

真实太困扰了,咨询了无数人,都没有解决。

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐