使用Virtualbox的Nginx和Gunicorn为Django静态文件的旧verison提供填充/剪切到新文件大小的服务,sendfile off不';行不通

使用Virtualbox的Nginx和Gunicorn为Django静态文件的旧verison提供填充/剪切到新文件大小的服务,sendfile off不';行不通,nginx,vagrant,virtualbox,gunicorn,sendfile,Nginx,Vagrant,Virtualbox,Gunicorn,Sendfile,我的问题与所描述的和相同,但是设置sendfile off没有帮助 我用Virtualbox(Ubuntu 16.04)和Nginx、Gunicorn和Django运行Vagrant。我使用此设置进行开发,因此我希望避免每次更改文件时都必须调用collectstatic。因此,Nginx将所有请求路由到Gunicorn(甚至“/static/”),Gunicorn使用以下方法提供静态文件: if settings.DEBUG: from django.contrib.staticfile

我的问题与所描述的和相同,但是设置
sendfile off没有帮助

我用Virtualbox(Ubuntu 16.04)和Nginx、Gunicorn和Django运行Vagrant。我使用此设置进行开发,因此我希望避免每次更改文件时都必须调用
collectstatic
。因此,Nginx将所有请求路由到Gunicorn(甚至“/static/”),Gunicorn使用以下方法提供静态文件:

if settings.DEBUG:
    from django.contrib.staticfiles.urls import staticfiles_urlpatterns
    urlpatterns += staticfiles_urlpatterns()
这是可行的,但如果我更改了静态文件中的某些内容,则不会更新内容,只会更新文件大小。我尝试过关闭
发送文件在nginx.conf中,也在我的Gunicorn配置中。尽管如此,问题依然存在。我有没有办法缩小这个问题的可能原因

所有Django文件都在与Windows 10主机系统共享的文件夹中,但如果我使用
vagrant ssh
并签出这些文件,它们已正确更新

编辑:如果我只在没有Nginx的情况下运行Gunicorn,那么问题仍然存在,因此这似乎是一个Gunicorn/Django问题。

解决了它

我还需要使用
--no sendfile
标志运行Gunicorn。我以前尝试过在ini文件中设置它(
no\u sendfile=True
),但没有成功。然而,在supervisor中向我的Gunicorn run命令中添加
--no sendfile
是有效的