在ubuntu服务器的ntpdate更新之后,我总是收到nginx中的旧php文件

当我使用ntpdate ntp.ubuntu.com来同步我的服务器时钟时,发生nginXcaching的问题。

现在,当我请求pathhttp://www.example.com/project/create我收到了我正在处理的旧的PHP文件。

我尝试在nginx.conf中将sendfile设置为off ,甚至在cloudFlare为我的DNSclosurescaching,但没有成功。

当我看着头部分curl -I http://www.example.com/project/create我有以下的回应:

 HTTP/1.1 302 Moved Temporarily │ Server: nginx │ Date: Fri, 15 Aug 2014 10:51:38 GMT │ Content-Type: text/html │ Connection: keep-alive │ Set-Cookie: PHPSESSID=cihsfrq6aoat5baun8dem01go5; path=/ │ Expires: Thu, 19 Nov 1981 08:52:00 GMT │ Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0 │ Pragma: no-cache │ Location: http://www.example.com/site/login 

我找不到任何nginxcaching文件夹要删除。 在所有这些变化之后,我已经重新启动了nginX,但什么都没有收到 我想不出为什么会发生这种情况。

编辑1:
似乎是当我使用ntpdate ntp.ubuntu.com ,它将服务器时间更改为7:25而我的时间是16 ! 文件修改现在是16,旧的date,而我的系统时间是7:25。 如果我把时间改为16,那么我的推送者会抛出一个错误,并说给出的时间戳已经过期:

 string(112) "Timestamp expired: Given timestamp (2014-08-15T20:06:20Z) not within 600s of server time (2014-08-15T11:39:59Z) " 

您可能在PHP中安装了APCcaching模块。 要强制APC高速caching刷新的最简单方法,您应该重新启动您的PHP-FPM守护进程。

caching时间是使用当前系统时间构build的。 像你经历的时间跳跃,预计会创造奇怪的行为。 nginx只是其中一个可以这样运行的程序之一。 这些问题一般都很清楚,一度赶上。

尝试运行ntp守护进程而不是定期运行ntpdate 。 ntp与ntpdate相比的一个优点是,对于较小的调整,它会转换时钟而不是跳过时钟。 一旦你的时钟同步,ntp将大约每15分钟(1024秒)查询其服务器。

如果您知道您的时钟非常closures,则可以在很长一段时间内进行小幅调整以手动调整时钟。 这可以作为一个cron工作脚本和运行。 一旦你在一分钟左右的时间,那么你可以启动你的ntp守护进程。