静态文件未在产品上更新

时间:2019-03-25 20:04:48

标签: django nginx production-environment

我是生产人员的新手。我在数字海洋上部署了我的第一个Django应用程序。它正在工作。

代码可以正常更新,但是问题出在通过nginx服务的静态文件中。

我更新了静态文件,然后重新启动nginx和gunicorn,但它们在我的产品网站中不存在。

我检查了chrome开发工具,它正在提供旧的静态文件。

我检查了产品仓库中是否存在这些更改,但是nginx似乎并没有使用最新的静态文件。我采取的步骤

      Run collectstatic command
      Restart the nginx
      Restart the gunicorn

静态文件的nginx配置

   location = /favicon.ico { access_log off; log_not_found off; }
    location /static/ {
    root /home/djangoadmin/pyapps/hkc_project;
}

这是静态设置:

   STATIC_ROOT = os.path.join(BASE_DIR, 'static')

   STATIC_URL = '/static/'

   STATICFILES_DIRS = [
     os.path.join(BASE_DIR, 'hkc/static')
    ]

要执行此操作,我还需要做什么吗?

预先感谢

1 个答案:

答案 0 :(得分:0)

据我所知,nginx最好的使用静态文件的方法是:

    location /static {    
        autoindex on;    
        alias /home/djangoadmin/pyapps/hkc_project;    
    }

alias是服务整个目录的正确方法。

autoindex处理以斜杠('/')结尾的请求,并生成目录列表。