我正在设置一个新服务器并通过docker run -p 8000:8000 --name=somename
etc 运行 Django 应用程序。所以现在我需要配置 NGINX 来提供我的 Django 应用程序的静态文件
问问题
39 次
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 回答