linux - NGINX 未获取 Vagrant 同步文件夹中的更改

标签 linux windows nginx virtualbox vagrant

我有一个由 Vagrant 安装的 Ubuntu VirtualBox。它运行 NGINX 来提供一些静态文件和 Django 应用程序。

我已通过 vagrant 将源文件夹同步到主机 (windows) 中的存储库。我可以在 Windows 中更改 Javascript 文件,并通过 SSH 登录并在 nano 中打开文件来验证是否对我在 VM 中的文件进行了更改。

然而,当我远程进行更改时,NGINX 似乎提供了未更改的版本,最后添加了“非法”字符(这真的让浏览器感到害怕)。当我在 ssh 进入虚拟机时 curl 本地主机时,我得到了相同的文件。 EDIT 当我通过 SSH 编辑文件时,它实际上做了同样的事情

我可以通过 vagrant 重新加载虚拟机(它会重新同步文件夹),它可以正常工作,直到下一次远程更改。

重启 nginx 和 gunicorn 没有帮助。

vagrant 是否锁定文件以便 nginx 必须依赖缓存?这里可能发生了什么?

谢谢!

最佳答案

显然我同事的 Google-foo 比我好。

这显然是 virtualbox 和 nginx 的一个已知问题,它与 nginx 的发送文件有关。您可以简单地添加“sendfile off;”在 nginx 配置中的服务器或位置 block 中。这是一篇关于它的博文:nginx virtualbox static files

关于linux - NGINX 未获取 Vagrant 同步文件夹中的更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21195635/

相关文章:

linux - Shell 脚本,在执行一段时间后杀死进程

java - 如何在 LibGDX 主体中删除?

windows - 规范化 AC3 文件

python - django send_mail() 函数需要几分钟

php - 如何安全地在虚拟主机上拥有多对多用户

nginx - 使用 NGINX 在子目录上托管 Gatsby

c - 我应该如何使用strace来嗅探串口?

c - 无法通过 IDA 在 gdbserver 中设置断点

c# - WinRT XAML TextBlock - 超链接功能

javascript - Python 2.5 模块允许在 Windows 下执行 javascript