Xcache工作原理:
Xcache是开源的opcode和var的缓存器,它可以加速PHP的原因就是Xcache通过缓存用户已经请求的PHP编译结果,将PHP编译缓存保存在服务器的内存中以便用户再次请求同样PHP解析时不再用PHP再次编译直接从Xcache缓存结果中读取。避免PHP再次编译给服务器带来过大的负载。下面就来说下在LNMP环境下如何使用Xcache来加速你的PHP服务器。
系统环境:CentOS 6.3 (Final) + Nginx 1.6.0 + MariaDB-5.5.37 + PHP-5.5.10 + xcache-3.1.0
LNMP环境这里我已经搭建好了,对于LNMP环境的优化,我想后续我会一一记录出来供大家一起讨论的。
安装xcache-3.1.0:
代码如下 | 复制代码 |
wget http://xcache.lighttpd.net/pub/Releases/3.1.0/xcache-3.1.0.tar.gz tar zxvf xcache-3.1.0.tar.gz cd xcache-3.1.0 |
我的PHP安装目录在:/data/app/php5/ 所以进入xcache-3.1.0源码目录下我们才执行:
/data/app/php5/bin/phpize 否则提示错误找不到:config.m4 文件。
配置Xcache:
代码如下 | 复制代码 |
./configure –enable-xcache –enable-xcache-coverager –enable-xcache-optimizer –with-php-config=/data/app/php5/bin/php-config |
编译和安装xcache: make && make install
上面Xcache安装结果会返回一个:
Installing shared extensions: /data/app/php5/lib/php/extensions/no-debug-non-zts-20121212/
最后我们只有在PHP.INI里面加载xcache.so扩展就可以了。对了,新版本xcache不支持zend方式加载。下面是我的配置文件:
代码如下 | 复制代码 |
extension_dir=/data/app/php5/lib/php/extensions/no-debug-non-zts-20121212/ [xcache.admin] [xcache] [xcache.coverager] |
最后,创建xcache.mmap_path文件。touch /tmp/xcache && chmod 777 /tmp/xcache
到此,你的PHP服务器已经安装了Xcache加速。可以访问phpinfo来查看。
对于xcache缓存的管理,可以这样:
复制xcache源码目录中htdocs里面的文件到你的站点根目录下。这里我复制并重命名为xcache文件夹。
这样你可以通过 http://yourdomain/xcache来管理和监控你的xcache缓存,如下配图:
测试的话,这里就不进行了。因为这里是我的真实环境,并不是实验所用的测试机。但通过查阅xcache官网,看到xcache更新得挺快。证明xcache一直在向前走