【问题标题】:How to configure nginx to serve staticfiles in docker django app如何配置 nginx 以在 docker django 应用程序中提供静态文件
【发布时间】:2019-07-13 09:25:32
【问题描述】:

我正在设置一个新服务器并通过docker run -p 8000:8000 --name=somename 等运行 Django 应用程序。 所以现在我需要配置 NGINX 来为我的 Django 应用程序提供静态文件

【问题讨论】:

    标签: docker nginx docker-run


    【解决方案1】:

    Nginx 是一个代理服务器,所以你必须把它放在你的 Django 应用程序之前。对您的 Django 应用程序的所有请求都将通过 nginx 服务器。因此,如果您的 Django 应用程序在端口 8000 上运行,您将运行 nginx,它将 proxy_pass(意味着重定向)所有非静态资产路由到 DjangoAppIPAddress:8000。这是一个用于执行此操作的示例 nginx conf 文件:

    server {
        ...
        location /uri/for/static/content {
           root /path/to/your/static/files
        }
        location /uri/for/dynamic/content {
           proxy_pass DjangoAppIPAddress:8000
        }
    }
    

    如果您在云环境中执行此操作,那么我建议您创建两个不同的 pod。一个用于 django 应用程序,另一个用于 nginx,并且仅在集群外公开 nginx pod。

    【讨论】:

    • 非常感谢!我已经解决了我的问题...我只是忘记为 django 应用设置音量))
    猜你喜欢
    • 2014-10-05
    • 2016-12-23
    • 2019-02-22
    • 2019-05-31
    • 2017-11-19
    • 2023-03-05
    • 1970-01-01
    • 2020-06-17
    • 2014-11-19
    相关资源
    最近更新 更多