我有两个CentOS机器(虚拟化),在/etc/fstab有一个挂载的NFS共享:
<ipaddr>:/mnt/nfsshare /mnt/nfsshare nfs rsize=1024,wsize=1024,timeo=14,intr,cto,relatime 0 0
我在每个Apache的configuration中都有EnableMMAP Off和EnableSendfile Off 。 连接到NFS的另一台服务器偶尔会通过一个更新版本的CSS文件进行复制(例如,当有人应用来自分段的更改时)。 在shell中,这个更新似乎要经过(即更新的时间戳和cat显示正确的数据)。
但是,从浏览器或其他工具加载文件显示过时的版本。 有时甚至会看到不同的响应(两台Apache服务器负载均衡)。 经过一段时间的改变似乎会通过,Apache将返回正确的文件内容,但通常需要一两分钟。
你可以尝试用'noac'replace'cot'并完全禁用caching,但是如果你的生产实例是唯一出现的地方,你可能会受到一些性能损失。 另一个选项是设置acregmax = 10,这将保持属性的caching时间不超过10秒 – 默认情况下,所有属性caching60s,而'cto'表示属性应该在open()和close()个别的Apache进程可能仍然挂在文件句柄或东西。