我有一个由Vagrant设置的Ubuntu VirtualBox。它运行NGINX来提供一些静态文件和一个Django应用程序。
我将源文件夹通过vagrant同步到我的主机(windows)中的repo。我可以在Windows中对Javascript文件进行更改,并验证是否通过SSH进入VM中的文件并以nano打开文件。
然而,当我远程进行更改时,NGINX似乎提供了未更改的版本,并在末尾添加了“非法”字符(这真的吓坏了浏览器)。当我进入vm时,我在CURL localhost时得到相同的文件。 编辑当我通过SSH编辑文件时,它实际上做了同样的事情
我可以通过vagrant(重新同步文件夹)重新加载vm,它可以正常工作,直到下一次远程更改。
重新启动nginx和gunicorn无济于事。
vagrant是否会锁定文件,以便nginx必须依赖缓存?可能会发生什么?
谢谢!
答案 0 :(得分:9)
显然我的同事比我有更好的Google-foo。
这显然是virtualbox和nginx的一个已知问题,与nginx的sendfile有关。你可以简单地添加“sendfile off;”在您的服务器或nginx配置中的位置块。这是关于它的博文:nginx virtualbox static files