我有一个 CentOS 6.6(最终版)发行版,其上运行着 Varnish 实例(端口 80)和 Apache 2.2(端口 81)。
Apache 从 NFS 读取文件。
我面临的问题(并非总是,但大多数时候)如下:如果在 NFS 上创建一个新文件,并且我尝试直接在端口 81 上通过 wget 该文件(绕过 Varnish),Apache 会给出 404。
--2018-08-03 16:11:28-- http://www.example.com:81/test/lorem-ipsum-2/index.html
Resolving www.example.com... ::1, 127.0.0.1, 10.xxx.xxx.xxx
Connecting to www.example.com|::1|:81... connected.
HTTP request sent, awaiting response... 404 Not Found
2018-08-03 16:11:29 ERROR 404: Not Found.
大约一分钟后它才能返回文件内容 200。
wget "http://www.example.com:81/test/lorem-ipsum-2/index.html"
--2018-08-03 16:12:40-- http://www.example.com:81/test/lorem-ipsum-2/index.html
Resolving www.example.com... ::1, 127.0.0.1, 10.xxx.xxx.xxx
Connecting to www.example.com|::1|:81... connected.
HTTP request sent, awaiting response... 200 OK
Length: 4524 (4.4K) [application/json]
Saving to: “index.html”
100%[===================================================================================================================================================================================================>] 4,524 --.-K/s in 0s
2018-08-03 16:12:40 (122 MB/s) - “index.html” saved [4524/4524]
此外,还有一点可能很重要,如果我在一分钟之内对该文件执行 cat 操作,Apache 将能够返回 200 OK。
cat /data/nfs_shared/httpd/htdocs/test/lorem-ipsum-2/index.html
也许有人可以帮忙。
谢谢