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):
root@localhost:~# cd /dev/shm
root@localhost:/dev/shm# mkdir longsays-cache
然后进入WordPress的wp-content目录,并删除其下的cache目录(假设WordPress根目录为/home/www):
root@localhost:/dev/shm# cd /home/www/wp-content
root@localhost:/home/www/wp-content# rm -rf cache
建立一条由/dev/shm/longsays-cache到/home/www/wp-content/cache的软链接,并且改变权限为777:
root@localhost:/home/www/wp-content# ln -s /dev/shm/longsays-cache /home/www/wp-content/cache
root@localhost:/home/www/wp-content# chmod -R 777 /home/www/wp-content/cache
最后刷新一下网页,如果在源代码的最后输出了正确的信息(如下),则说明成功了。
在UnixLinux系统中,自带了一个将内存作为硬盘使用的工具/dev/shm,在这个目录中存放的文件实际上是存放在内存中的,我们可以将缓存文件通过软链接的方式存放至/dev/shm目录中,直接实现内存级缓存。
不过这种方法有一点局限性,那就是必须为拥有root权限的VPS,虚拟主机不支持这种方法。
看完感觉很神奇,等闲下来的时候对着上面的步骤折腾下,嘿嘿
内存要足够大…
要不容易502…
这个插件实在是用不惯!
额…
还好…
你的博客使用了缓存吗?
memcache…
缓存插件没用…
哦~对于插件我的原则还是尽量的少用!
额…我的意思是缓存插件我没用…
因为我有memcache和eAccelerator
缓存插件可以有效降低cpu负载!
memcache和eAccelerator
缓存插件 怎么弄啊
memcache和eAccelerator不是插件…是跟nginx,php,mysql一个性质的应用,需要root权限安装,虚拟主机使用需要提供商安装,不过一般卖虚拟主机的不会安装的,因为占内存(使用内存换速度)…
缓存插件的话WP-Super-Cache还好啊…
原来是这样啊!谢谢神爱指点哈!呵呵
这个方法太狠了。
不过设置为 777 权限会不会带来安全隐患?
有没有测试一下这样设置的改善效果?我记得有文章曾说 Linux 自己就会通过内存来缓存经常使用的文件。当使用 WPSC 静态化之后,如果内存空间足够,应该静态化的文件都可以在内存中拥有一份缓存的吧?所以我对使用这种方法前后的效果比较很感兴趣。
在/dev/shm里貌似外部无法访问,而只是cache777而已…你也可以设置成httpd的用户(一般为www),只要httpd能修改文件的权限就行…
linux是会缓存经常用的文件,但那貌似是应用,而不是应用打开的文件
wpsc缓存是存在于硬盘中的…
一般情况下/dev/shm中的文件比硬盘中的快…
原来不是缓存打开的文件啊,我一直以为会缓存的
应用加速而已…
除非那个应用指明要缓存文件,如:memcached
我的所有vps目前都剩余60%以上的内存…
所以应该没有缓存web的文件
而家用ubuntu就是基本上90%以上(8G内存)
vps安装了缓存程序的除外…
测试缓存…