在 ubuntu 伺服器的 ntpdate 更新後,我總是在 nginx 中收到舊的 php 文件
記憶體問題
nginX
發生在我用來ntpdate ntp.ubuntu.com
同步伺服器時鐘時。現在,當我請求路徑時,
http://www.example.com/project/create
我收到了我正在處理的舊 PHP 文件。我嘗試設置
sendfile
甚至關閉我的 DNS 記憶體off
,但沒有成功。nginx.conf``cloudFlare
當我查看標題部分時,
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
我找不到要刪除的任何 nginx 記憶體文件夾。在所有這些更改之後,我重新啟動了 nginX,但一無所獲。我想不出發生這種情況的任何其他原因。
編輯1:
似乎當我使用時
ntpdate ntp.ubuntu.com
,它會將伺服器時間更改為7:25
我的時間16
!?文件修改現在是 16,舊日期,而我的系統時間是 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) "
您可能
APC
在 PHP 中安裝了記憶體模組。強制 APC 記憶體刷新的最簡單方法是重新啟動PHP-FPM
守護程序。
記憶體時間是使用目前系統時間建構的。您所經歷的時間跳躍預計會產生奇怪的行為。
nginx
只是可以以這種方式執行的幾個程序之一。這些問題大體清晰,一旦與時俱進。嘗試執行
ntp
守護程序而不是定期執行ntpdate
. ntp 優於 ntpdate 的一個優點是,對於較小的調整,它會改變時鐘而不是跳過時鐘。一旦你的時鐘同步,ntp 將大約每 15 分鐘(1024 秒)查詢一次它的伺服器。如果你知道你的時鐘明顯關閉,那麼你可以在很長一段時間內手動調整時鐘。這可以編寫腳本並作為 cron 作業執行。一旦你在一分鐘左右的時間內,你就可以啟動你的
ntp
守護程序。