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即可。