為網站(WordPress)添加內存級緩存–需管理員(ROOT)許可權

WordPress是目前最為通用的博客平台,據統計現在80%的獨立博客是由WordPress搭建的。但是,WordPress佔用CPU資源巨大,生成一個普通頁面常常涉及幾十個SQL查詢和秒級的運行時間,因此對WordPress進行動態頁面靜態化成為優化性能的最佳選擇。
現在使用最為廣泛的緩存插件當屬WP-Super-Cache,性能較高且功能強大,能滿足大部分需求。但是,WP-Super-Cache使用硬碟作為緩存介質,在面對大流量訪問時會受限於硬碟IO。因此Batcache、Super Cache Plus等內存級緩存插件產生了,但由於其配置稍顯複雜且使用上不如WP-Super-Cache順手,並未得到廣泛的普及。
在這裡我要介紹一種在Unix/Linux伺服器上實現內存級緩存的簡單方法。
前提:要在WordPress中安裝WP-Super-Cache插件(或是其他以硬碟為介質的緩存插件)並激活插件。
首先,我們通過SSH登錄主機,進入/dev/shm目錄,新建一個目錄用來存放緩存文件(如longsays-cache):

然後進入WordPress的wp-content目錄,並刪除其下的cache目錄(假設WordPress根目錄為/home/www):

建立一條由/dev/shm/longsays-cache到/home/www/wp-content/cache的軟鏈接,並且改變許可權為777:

最後刷新一下網頁,如果在源代碼的最後輸出了正確的信息(如下),則說明成功了。

在UnixLinux系統中,自帶了一個將內存作為硬碟使用的工具/dev/shm,在這個目錄中存放的文件實際上是存放在內存中的,我們可以將緩存文件通過軟鏈接的方式存放至/dev/shm目錄中,直接實現內存級緩存。
不過這種方法有一點局限性,那就是必須為擁有root許可權的VPS,虛擬主機不支持這種方法。

《為網站(WordPress)添加內存級緩存–需管理員(ROOT)許可權》上有17條評論

        1. memcache和eAccelerator不是插件…是跟nginx,php,mysql一個性質的應用,需要root許可權安裝,虛擬主機使用需要提供商安裝,不過一般賣虛擬主機的不會安裝的,因為占內存(使用內存換速度)…
          緩存插件的話WP-Super-Cache還好啊…

  1. 這個方法太狠了。
    不過設置為 777 許可權會不會帶來安全隱患?
    有沒有測試一下這樣設置的改善效果?我記得有文章曾說 Linux 自己就會通過內存來緩存經常使用的文件。當使用 WPSC 靜態化之後,如果內存空間足夠,應該靜態化的文件都可以在內存中擁有一份緩存的吧?所以我對使用這種方法前後的效果比較很感興趣。

    1. 在/dev/shm里貌似外部無法訪問,而只是cache777而已…你也可以設置成httpd的用戶(一般為www),只要httpd能修改文件的許可權就行…
      linux是會緩存經常用的文件,但那貌似是應用,而不是應用打開的文件
      wpsc緩存是存在於硬碟中的…
      一般情況下/dev/shm中的文件比硬碟中的快…

    2. 我的所有vps目前都剩餘60%以上的內存…
      所以應該沒有緩存web的文件
      而家用ubuntu就是基本上90%以上(8G內存)
      vps安裝了緩存程序的除外…

發表評論

電子郵件地址不會被公開。 必填項已用*標註