第5章:安装配置PHP XCache缓存加速模块
一、认识XCache缓存插件
XCache是一个开源的,又快又稳定的PHP opcode缓存器/优化器,其项目leader曾经是Lighttpd的开发成员之一。XCache把PHP程序编译后的数据缓存到共享内存里,
避免相同的程序重复编译。用户请求相同的PHP程序时,可以直接使用缓存中已编译好的数据,从而提高PHP的访问速度,通常可以提升2-5倍,并大幅降低服务器负载开销,
很多公司使用XCache,它已经能在大流量/高负载的生产环境中稳定运行,与同类型的opcode缓存器相比在各方面都更胜一筹。例如:社区活跃、快速开发、能够快速跟进
PHP版本的更新。
二、安装XCache
wget http://xcache.lighttpd.net/pub/Releases/3.2.0/xcache-3.2.0.tar.bz2 tar jxf xcache-3.2.0.tar.bz2 cd xcache-3.2.0 #/usr/local/php5.4.30/bin/phpize Configuring for: PHP Api Version: 20100412 Zend Module Api No: 20100525 Zend Extension Api No: 220100525 #./configure --enable-xcache --with-php-config=/usr/local/php5.4.30/bin/php-config #make #make install Installing shared extensions: /usr/local/php5.4.30/lib/php/extensions/no-debug-non-zts-20100525/ # ll /usr/local/php5.4.30/lib/php/extensions/no-debug-non-zts-20100525/ -rwxr-xr-x. 1 root root 702441 Apr 16 15:26 xcache.so #最后生成xcache.so模块,表示xcache安装成功
三、整合php和XCache
1、现在配置XCache参数前加个配置分解符 echo -e ";xcache config by heboan 2016-4-16 " >>/etc/php.ini 2、编辑xcache.ini,修改xcache的参数配置(xcache解压目录下存在一个名字为xcache.ini的配置文件) vim /root/xcache-3.2.0/xcache.ini ------------------------------调整认得关键参数--------------------------------------------- xcache.size = 60M --->xcache.size = 256M xcache.count = 1 --->xcache.count = 2 xcache.ttl = 0 --->xcache.ttl = 86400 xcache.gc_interval = 0 --->xcache.gc_interval = 3600 xcache.var_size = 4M --->64M ------------------------------------------------------------------------------------------- 以上参数需要根据生产硬件的大小,以及业务数据的访问量来调整 3、将修改后的xcache.ini合并到php.ini结尾 cat /root/xcache-3.2.0/xcache.ini >>/etc/php.ini
四、重启php-fpm加载模块,检查是否生效
service php-fpm restart
# /usr/local/php5.4.30/bin/php -v PHP 5.4.30 (cli) (built: Apr 14 2016 19:54:30) Copyright (c) 1997-2014 The PHP Group Zend Engine v2.4.0, Copyright (c) 1998-2014 Zend Technologies with XCache v3.2.0, Copyright (c) 2005-2014, by mOo with XCache Cacher v3.2.0, Copyright (c) 2005-2014, by mOo
五、Xcache使用系统的共享内存作为存储空间,因此有必要调整系统的共享内存大小参数
kernel.msgmnb = 65535 #Controls the maximum size of a message, in bytes kernel.msgmax = 65535 #Controls the maximum shared segment size, in bytes kernel.shmmax = 68719476736 #Controls the maximum number of shared memory segments, in bytes kernel.shmall = 4294967296
六、配置web界面查看xcache缓存加速信息
1、通过输入字符串生产xcache管理员密码,这里使用md5sum命令生成密文密码 # echo -n "123456"|md5sum e10adc3949ba59abbe56e057f20f883e - 2、把修改php.ini中的xcache配置部分如下 #vim /etc/php.ini ... [xcache.admin] xcache.admin.enable_auth = On xcache.admin.user = "heboan" xcache.admin.pass = "e10adc3949ba59abbe56e057f20f883e" 3、复制XCache软件下面的缓存加速管理php程序到站点目录下 cd xcache-3.2.0 cp -a htdocs/ /data/www/heboan/xadmin chown -R nginx.nginx /data/www/heboan/xadmin service php-fpm restart
七、访问http://www.heboan.com/xadmin(用户名:heboan,密码:123456)
有关缓存Xcache的状态,命中等相关信息都可以通过这个页面查看
附:Xcache 配置文件参数详解
[xcache-common] extension = xcache.so #加载xcache.so,路径相对于extension_dir的配置
[xcache.admin] xcache.admin.enable_auth = on #激活管理员认证
xcache.admin.user = "heboan" xcache.admin.pass = "e10adc3949ba59abbe56e057f20f883e" #指定管理员用户名和密码,留空表示禁止管理页面
xcache.shm_scheme = "mmap" #设置xcache如何从系统分配共享内存
xcache.size = 60M #0为禁止缓存,非0则启用缓存。需要注意的是系统所允许的mmap最大值
xcache.count = 1 #指定cache切分成多少块,官方推荐设置为服务器COU的数量(grep -c processor /proc/cpuinfo)
xcache.slots = 8K #hash槽个数的参考值
xcache.ttl = 0 #设定cache对象的生存期,0为永不过期
xcache.gc_interval = 0 #回收器扫描过期的对象回收内存空间的间隔,0为不扫描,其他值单位是秒
xcache.var_size = 4M xcache.var_count = 1 xcache.var_slots = 8K xcache.var_ttl = 0 xcache.var_gc_interval = 300 #这几个值和上面的几个类似,只不过用于变量缓存,而不是opcode缓存
;N/A for /dev/zero xcache.readonly_protection = off #如果启用了该参数,降略微降低性能,但会提高一定的安全系数,这个选项对于xcache.mmap_path = /dev/zero无效
xcache.mmap_path = "/dev/zero" #如果要启用该参数,请使用"/tmp/xcache"这样的路径,而不是"/dev/*",如果启用了xcache.readonly_protesction参数,不同进程组的PHP会共享同一个/tmp/xcache路径
xcache.coredump_directory = "" #当XCache crash后,是否把数据保存到指定路径
xcache.disable_on_crash = off #当XCache crash时,自动关闭Xcache缓存
每天进步一点,加油!