0

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

4

1 回答 1

0

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。

于 2019-07-13T11:31:55.850 回答