【问题标题】:nginx not serving django static filesnginx 不提供 django 静态文件
【发布时间】:2015-06-04 06:19:55
【问题描述】:

我在亚马逊 AMI 机器上运行我的 django 项目,并且在 nginx 提供静态文件时遇到问题。项目静态文件夹路径为/home/user/projectname/app/staticnginx.conf

server {
listen       80;

location /static {
    alias /home/user/projectname/app/static;
}

location / {
    proxy_pass http://localhost:8000;
}

我尝试制作 collectstatic 并将静态位置更改为 alias /home/user/static;但这没有帮助。我做错了什么?

【问题讨论】:

  • 你的 STATIC_URL 的值是多少?当您直接访问 URL 时,文件是否会出现?您如何引用模板中的文件?
  • “我在提供静态文件时遇到问题”太模糊了,究竟是什么问题?
  • @DanielRoseman 我的静态网址是STATIC_URL = '/static/'
  • @DondiMichaelStroma 我收到 403 错误,nginx 无法加载静态文件

标签: python django nginx


【解决方案1】:

确保您chown 主目录。这使得 nginx 可以访问静态文件。

chown -R user:user /home 
chmod -R ug+r /home

另外,尝试运行python manage.py collectstatic --noinput

希望这能解决问题。

【讨论】:

  • 如果我运行collectstatic 并将静态文件收集到/home/user/static 中,我是否应该将别名更改为alias /home/user/static;
  • Chown 没有帮助我。也许我应该把静态文件放到另一个目录?
【解决方案2】:

请将静态目录改为staticstorage

server {
    listen       80;

    location /static {
        alias /home/user/projectname/app/staticstorage;
    }

    location / {
        proxy_pass http://localhost:8000;
    }

【讨论】:

  • 只在 nginx.conf 中还是在项目文件夹中更改?
猜你喜欢
  • 2021-12-02
  • 2020-09-14
  • 1970-01-01
  • 2016-01-28
  • 2022-10-06
  • 2018-08-26
  • 2017-05-31
  • 1970-01-01
  • 2011-01-27
相关资源
最近更新 更多