【发布时间】:2012-03-26 03:02:27
【问题描述】:
我不知道这是 Ubuntu、VirtualBox 还是 nginx 的问题。
我在 Ubuntu 上运行 nginx,它是 Windows 7 上的 VirtualBox 来宾。Windows 7 文件夹作为自动安装的只读共享文件夹安装在 VirtualBox 中。 Ubuntu 将文件夹视为 /media/sf_jsource
现在,如果我在 Windows 7 上编辑该文件夹中的文件,Ubuntu 上的 shell 命令 (cat) 会看到新内容。这似乎意味着 VirtualBox 和 Ubuntu 正在接受新的变化。
但是,在 Ubuntu 上运行的 nginx 服务器继续提供陈旧的内容。这表明问题出在 nginx 缓存文件上。我四处搜索,看到几个条目(从 2010 年到 2011 年)来禁用 nginx 缓存。但是,我没有在 nginx 配置中启用任何缓存,也没有看到任何 /var/cache/nginx 或 /opt/cache/nginx 目录要清除。
现在,有趣的是重新启动 nginx 并不能解决问题。我必须为 nginx 重新启动 Ubuntu 来宾才能看到新内容,这没有意义,因为 Ubuntu 中的 cat 在重新启动之前无论如何都会看到更改。
几乎所有东西(nginx、Ubuntu、VirualBox)都是 2012 年初的最新版本。
【问题讨论】:
-
我在 OSX 上运行 Vagrant 时遇到了这个问题。正如@BenitoCiaro 所说,在
/etc/nginx/nginx.conf中关闭sendfile解决了这个问题。
标签: ubuntu nginx virtualbox