
伺服器:ubuntu 14.04lts nginx(v1.10) 伺服器在我已經更改檔案時顯示較舊的內容,3-6 分鐘後即可看到更改。文檔根目錄是從nfs共用掛載的。當我立即讀取/文件時可以看到文件中的更改,cat
但在瀏覽器上看不到相同的更改。我還嘗試停用 nginx sendfile,但行為是隨機的,有時可以看到更改,有時顯示較舊的 php 結果。
注意:我已經清除了瀏覽器快取並且禁用了 phpopcache,nfs 和 nginx 之間的平均延遲小於 0.3 毫秒。沒有緩存伺服器/客戶端
下面是我在客戶端的 nfs 掛載選項
mount -t nfs
10.10.17.45:/www/public_html on /www/public_html type nfs (rw,noatime,nolock,bg,intr,tcp,actimeo=1800,addr=10.10.17.45
下面是nfs伺服器中的匯出conf
/www/public_html 10.10.17.40(rw,fsid=0,async,no_root_squash,no_subtree_check)
例如:- 我有一個名為showme.php
以下內容的文件
<?php $var1="abc" echo $var1; ?>
如果我把它改成
<?php $var1="xyz" echo $var1; ?>
這不會反映在瀏覽器上
答案1
根據 php 的版本以及 php-fpm 的設置,這可能是 PHP 快取/編譯 PHP 檔案的問題,然後當 FPM 進程之一在服務最大數量的請求後終止時刷新它。您始終可以:
sudo service php-fpm restart
或者
sudo systemctl restart php-fpm
立即取得文件更改。