我在我的ubuntu lxc容器中使用gunicorn和nginx在127.0.0.1:8001运行我的django应用程序。
这是host
中的nginx conf:
upstream django_app {
server 10.0.8.100:8001;
}
server {
listen 80;
server_name mysite.com;
location / {
proxy_pass http://django_app;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
这是container
中的nginx conf:
server {
listen 80;
location / {
proxy_set_header X-Forward-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_pass http://127.0.0.1:8001;
}
location /static {
alias /opt/static_files/django_app/;
}
}
此配置正常运行。我可以看到我的应用程序从浏览器运行,但静态文件没有加载。我在浏览器中为每个静态文件404 not found
。
路径/opt/static_files/django_app/
是使用collectstatic
命令收集所有静态文件的地方。
我找不到用上游提供静态文件的方法。
谢谢
答案 0 :(得分:0)
/opt/static_files/
应与STATIC_ROOT
django文件中的settings.py
设置相同。
另外,改变:
location /static {
alias /opt/static_files/django_app/;
}
为:
location /static/ {
alias /opt/static_files/django_app/;
}