php.jpg

XCache 简介

XCache 是一个国人开发的又快又稳定的 PHP opcode 缓存器。这意味着他能够提高您服务器上的 PHP 性能. 他通过把编译 PHP 后的数据缓冲到共享内存从而避免重复的编译过程, 能够直接使用缓冲区已编译的代码从而提高速度. 通常能够提高您的页面生成速率 2 到5 倍, 降低服务器负载。

经过良好的测试并在大流量/高负载的生产机器上稳定运行。经过(在 Linux系统上)测试并支持所有现行 PHP 分支的最新发布版本。要了解更多信息,请访问官方文档:

编译安装

须知: 本编译安装步骤基于LNMP环境下运行

cd /tmp && wget wget http://xcache.lighttpd.net/pub/Releases/3.2.0/xcache-3.2.0.tar.gz
tar -zxvf xcache-3.2.0.tar.gz
cd xcache-3.2.0.tar.gz
/usr/local/php/bin/phpize
./configure -with-php-config=/usr/local/php/bin/php-config -enable-xcache -enable-xcache-coverager -enable-xcache-optimizer
make && make install

注解:

--enable-xcache 表示启用Xcache支持;

--enable-xcache-coverager 表示包含用于测量加速器功效的附加特性,如果用于生产环境出于安全性考虑则不建议加入使用;

--enable-xcache-optimizer表示启用操作码优化

安装完毕后系统会提示xcache.so模块生成路径,这里生成路径为/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/,然后把xcache.so移动到/usr/local/php/include/php/ext目录下。

配置参数

1、修改php配置文件,更详细的设置说明,请看官方文档: 配置时我们可以参考xcache的配置模板xcache.ini,此文件位于Xcache安装程序中。

接下来修改 php.ini 文件

vi /usr/local/php/etc/php.ini

追加如下内容 :

[xcache-common]
extension = xcache.so

[xcache.admin]
xcache.admin.enable_auth = On
xcache.admin.user = "admin"
xcache.admin.pass = "md5 encrypted password"

[xcache]
; 决定 XCache 如何从系统分配共享内存
xcache.shm_scheme =        "mmap"
; 所用共享缓存的大小。如果为0,缓存将无法使用
xcache.size  =               128M
; 指定将 cache 切分成多少块, 建议设置为 cpu 数 (cat /proc/cpuinfo |grep -c processor)
xcache.count =                 1
; 只是作为 hash 槽个数的参考值, 您可以放心地缓存超过这个个数的项目.
xcache.slots =                8K
; Opcode文件的生存时间。如果将此值设置为0,则将无限期缓存 (int)
xcache.ttl   =                 0
; 触发垃圾回收的时间间隔。默认设置为0 (秒)
xcache.gc_interval =           0
; 同上, 只是针对变量缓存设置
xcache.var_size  =            4M
xcache.var_count =             1
xcache.var_slots =            8K
xcache.var_ttl   =             0
xcache.var_maxttl   =          0
xcache.var_gc_interval =     300
xcache.var_namespace_mode =    0
xcache.var_namespace =        ""
; 如果启用了 ReadonlyProtection, 将会略微降低性能, 但是会提高一定的安全系数. 
xcache.readonly_protection = Off
; 这个选项对于xcache.mmap_path = /dev/zero 无效.
; 用于只读保护的文件路径
; 这将限制两个 php 进程组共享同一个 /tmp/xcache 目录, 指定为 /dev/zero 时无效
xcache.mmap_path =    "/tmp/xcache"
; 在遇到故障时,放置核心转储的目录。必须是PHP可写入的目录。保留为空代表禁用.
xcache.coredump_directory =   ""
; 仅用于 Windows
xcache.coredump_type =         0
xcache.disable_on_crash =    Off
xcache.experimental =        Off
; 使用/不使用 opcode 缓存. xcache.size = 0 时无效.
xcache.cacher =               On
; 使用 stat() 发现检查脚本更新.
xcache.stat   =               On
; 启用或禁用优化。On表示启用
xcache.optimizer =           On

[xcache.coverager]
; 禁用代码覆盖信息采集器
; 启用后 xcache.coveragedump_directory 设置以及xcache_coverager_start/stop/get/clean() 系列函数才可以使用. (启用后会对降低影响).
xcache.coverager =           Off
; 每个页面请求自动调用 xcache_coverager_start()
xcache.coverager_autostart =  On
; 放置数据采集信息的目录位置。默认使用目录 /tmp/pcovis
xcache.coveragedump_directory = ""

2、生成Xcache缓存文件

touch /tmp/xcache
chmod 777 /tmp/xcache

3、生成Xcache管理员的密码(MD5密文)

例如,获取密码12345的MD5密文

echo -n "123456" | md5sum

得到

e10adc3949ba59abbe56e057f20f883e

将上述生成的MD5密文粘贴到 php.ini 文件中 xcache.admin.pass = "" 选项,xcache.admin.pass= "e10adc3949ba59abbe56e057f20f883e"

4、拷贝Xcache管理程序到网站根目录下

cp -a /tmp/xcache-3.2.0/htdocs/  /home/wwwroot/default/xcache/ 

重新启动 PHP,然后访问http://ip/xcache ,此时用户名为 admin 密码为 123456;

另外,还可以通过 phpinfo 来验证PHP是否支持 Xcache。

xcache_phpinfo.png

自动安装

军哥的 lnmp 一键安装包支持自动编译配置安装 XCache,进入lnmp解压后的目录,执行:

./addons.sh install xcache

出现提示:

3461919973.png

设置 xcache 管理页面 admin 用户的密码,出现 Press any key to install...or Press Ctrl+c to cancel,再次回车确认即可开始安装。

安装好以后,访问 http://你的服务器IP/xcache/ 输入admin用户名和密码就可以登录管理界面:

0109-cmhello_com.png

点击右上角的“诊断”,可以看到你目前的 Xcache 设置是否存在什么问题,而且给出了解释和建议,非常人性化。

0110-cmhello_com.png


相关推荐

文章作者:喵斯基部落
原文地址:https://www.moewah.com/archives/470.html
版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。非商业转载及引用请注明出处(作者、原文链接),商业转载请联系作者获得授权。