【问题标题】:Statics problem with django docker nginx gunicorndjango docker nginx gunicorn 的静态问题
【发布时间】:2021-01-02 02:42:16
【问题描述】:

我在通过 nginx 访问我的 django 静态数据时遇到了一个小问题。 我为在 docker 中运行的 django 服务器提供服务,其 url 位于 nginx 中:

location /external/ {
  proxy_pass  http://external;
}

对于 nginx 中的静态配置,我添加:

location /external/static/ {
  autoindex on;
  alias /external/static/;
}

对于我在 Django 上的静态配置,我在设置中设置了以下代码:

STATIC_ROOT = os.path.join(BASE_DIR, "static")
STATIC_URL = '/' + PREFIX + 'static/'   ## -> with my config = /external/static/

在我的 Dockerfile 中,我使用 gunicorn 运行我的 django 服务器,并通过端口 8000 公开它。当我使用端口 8000 (http://serveraddr.com:8000) 直接访问服务器时,我没有静态问题,但是当我使用 nginx 访问它时(https://serveraddr.com/external) 我的静态数据中没有找到。

请帮帮我

【问题讨论】:

    标签: django docker nginx static gunicorn


    【解决方案1】:

    假设你的静态文件在静态目录中

    location /external/static/ {
      autoindex on;
      alias /full/path/to/folder/static;
    }
    

    【讨论】:

    • 是的,我知道,但是我的 nginx 在一个 docker 中,而我的 django 服务器在另一个中
    • 你映射静态卷了吗,给我们看看你的 docker-compose 文件
    • 这就是我告诉自己的,我要为静态添加一个卷。
    • 我添加卷,如果可行,我在论坛中添加解决方案。
    • 正如我所说,向我们展示你的 docker-compose 文件以拥有stackoverflow.com/help/minimal-reproducible-example
    猜你喜欢
    • 2023-03-05
    • 1970-01-01
    • 2020-08-08
    • 2013-08-12
    • 2015-11-30
    • 2012-11-20
    • 1970-01-01
    • 1970-01-01
    • 2013-06-27
    相关资源
    最近更新 更多