Linux系統為我們提供了這樣的解決辦法,那就是tmpfs文件系統,tmpfs可以直接使用內存,同時在內存不夠時使用swap分區來存儲。另 外需要 注意的是tmpfs不具備持久性,重啟後數據不保留,請務必注意,不過我們只用它來存儲緩存文件,即使文件丟失也不影響網站訪問,完全無風險。
/dev/shm/是一個設備文件,它使用就是tmpfs文件系統(注意:在Centos和Redhat下,/dev/shm目錄是一個鏈接,指向 /run/shm目錄,在Ubuntu系統下tmpfs文件系統對應的是/run/shm目錄,可以使用df命令查看),因為/dev/shm/這個目錄 不在硬盤上,而是在內存裡,它就是所謂的tmpfs。可通過命令 df -h 查看到,tmpfs默認大小為物理內存的一半,當然也可以根據實際情況調整。
首先為wordpress的緩存文件建立一個目錄wpcache
mkdir /dev/shm/wpcache
賦予讀寫執行權限
chmod 1777 /dev/shm/wpcache
將tmpfs掛載到wordpress緩存插件生成的/cache目錄下
mount --bind /dev/shm/wpcache /home/wwwroot/trojansun.com/wp-content/cache ls -ld /dev/shm/wpcache
返回類似下面的內容說明掛載成功
drwxrwxrwt 3 www www 60 Jul 31 22:50 /dev/shm/wpcache
此時緩存插件會重新生成靜態頁面文件,過一段時間後,通過命令df -h即可查到tmpfs的使用情況。
需要注意的兩個問題:
1.根據實際情況(內存大小、文章數量)調整wordpress緩存插件的中的緩存頁面到期時間,否則會占用太多內存;
2.注意添加swap分區,以防內存不夠用時備用,4G物理內存以下設置swap分區大小為2G即可。