docker应用栈实践-nginx处理静态文件

在我的djangoweb应用在docker搭建好之后,发现一些css静态文件返回没有content-type属性,导致浏览器log一堆警告,强迫症的我受不了这一情况

 

目前的应用栈结构图:

一共四个容器,内部连接,其中APP1 APP2里面有两个应用 一个uWSGI的web服务器 一个django应用程序,其他两个容器都是内部一个应用

经过查阅很多资料,发现我使用的uwsgi貌似对mime.types支持的不太好,并没有找到解决方法,于是我决定在nginx上做静态文件的处理,

在nginx的配置文件

    location /static/ {
	proxy_pass http://xxxxxx;
	alias /app/dockerweb/superpigeons/static;
    }

 

因为nginx的alias都会在本机上找文件,所以需要将请求指向到其他的docker容器上,但是我发现这样行不通,因为对应的容器上并没有对文件系统提供服务,如果这样 那就还需要在对应的容器里另起一个服务,实在麻烦,于是我决定在每个app的容器里再起一个nginx,专门对静态文件做处理

 

这样就可以解决静态文件的问题了,因为nginx对mime.types的支持很友好,返回的content-type都是正确的

 

posted on 2018-06-20 16:18  小小白鸽  阅读(1576)  评论(0编辑  收藏  举报