【发布时间】:2019-07-01 11:31:25
【问题描述】:
我有一个网络应用程序(由 uwsgi 提供的 django),我正在使用 nginx 代理对特定容器的请求。 这是我的 default.conf 中的相关 sn-p。
upstream web.ubuntu.com {
server 172.18.0.9:8080;
}
server {
server_name web.ubuntu.com;
listen 80 ;
access_log /var/log/nginx/access.log vhost;
location / {
include uwsgi_params;
uwsgi_pass uwsgi://web.ubuntu.com;
}
}
现在我希望静态文件由 nginx 而不是 uwsgi worker 提供。
所以基本上我想添加类似的内容:
location /static/ {
autoindex on;
alias /staticfiles/;
}
到为容器自动生成的服务器块。
我相信这应该让 nginx 为 /staticfiles 文件夹中对 web.ubuntu.com/static/* 的所有请求提供服务。
但是由于配置(default.conf)是自动生成的,所以我不知道如何将上述位置动态添加到服务器块中:(
我认为位置块不能在服务器块之外,每台服务器只能有一个服务器块?
所以我不知道如何在那里添加位置块,除非我在 nginx 启动后动态添加到 default.conf 然后重新加载它我猜。
我确实经历了https://github.com/jwilder/nginx-proxy,我只看到了一个实际更改每个主机和默认位置设置的示例。但是完全没有添加新位置。
我已经在 jwilder/nginx-proxy 的问答中发布了这个,但没有得到回复。
如果有办法实现这一点,请帮助我。
【问题讨论】:
标签: docker docker-compose static-files jwilder-nginx-proxy