我正在设置新服务器并通过docker run -p 8000:8000 --name=somename
等运行Django应用程序。
所以现在我需要配置NGINX以提供Django应用程序的静态文件
答案 0 :(得分: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。