设为首页 收藏本站
查看: 517|回复: 0

[经验分享] PHP 加速器( Xcache安装配置)

[复制链接]

尚未签到

发表于 2018-12-20 11:31:21 | 显示全部楼层 |阅读模式
PHP加速器
就是因HTTP的请求都会进行一个过程:把编译解释成操作系统可以直接运行的机器码。这是一个重复的工作,加速器的功能就是把这一过程缓存起来重复使用。常用的加速器有:Alternative PHP Cache (APC)、XCache、eAccelerator。

  

接下来介绍xcache加速器配置使用流程先:

操作环境:linux5.4+php-5.4.13+mysql-5.5.15+nginx-1.0.11

php加速器工具xcache-2.0.1

  

首先呢拆解包;后进入拆解目录,然后看 INSTALL说明文件;进行安装 操作;




因为这个加速器的源码包、拆解之后并没有configure配置文件,但是呢依然有INSTALL安装目录文件可以供我参照,然后按部就班的操作后进行配置编译完成安装。


  

对于安装操作步骤可以直接依据于 INSTALL 目录文件来步步执行;

执行 vim INSTALL 查看:


  安装步骤也就是这么几下:
    $ phpize --clean && phpize     说明 可以直接执行这个文件;

    $ ./configure --help           然后就可以 执行 ./configure

    $ CFLAGS='your cflags' ./configure --enable-xcache --enable...  

                                   配置必要参数

    $ make                         编译

    # make install                 安装

  

然后按要求执行 phpize 先:

phpize 是用来扩展php扩展模块的,通过phpize也可以建立php的外挂模块


  

而后开始配置参数:

( 关于 ./configure,可以使用 --help 需要查看一些必要的脚本配置选项 )


  

然后开始 配置一些必要参数内容;完了就直接make编译 至make install 安装:


./configure --enable-xcache                        开启xcache 服务

--with-php-config=/usr/local/php/bin/php-config    配置工具路径

  

make install安装:

{ 执行之后会显示安装了一个共享的扩展模块,并解析了出模块的位置;所以就需要知道这个模块的位置、知道她在哪、内涵什么参数选项,而php与xcache结合时是怎样调用这个模块的;所以关于这个模块的调用、可以在当前程序目录先找到这个模块的初始化文件 xcache.ini 位置、而后把它拷贝到一个新建能够放置额外配置功能的目录( etc/php5.d/ 这个是在etc目录下可以自建的) 下面;因为php在工作的时候会自动扫描这些目录、所以自然就会自动加载这个文件 [ ( xcache.ini ) 所以优化也是在个模块库里更改设置 ];

但是它又怎么知道它会找到这个模块呢,还需要再编辑 vim xcache.ini 做出一些更改:

其中路径:/usr/local/php/lib/php/extensions/no-debug-non-zts-20100525/

( 其中10、12行指明是windows下调用的路径可以使用双分号对此禁用;)}


  

根据上述的做如下可以的设置修改


  

对而于php的加速、正是在 xcache.ini 中 ;可以对 php加速参数选项的设置更改:

( 当然也可以在图形界面的对峙参考更改、在此大致看看都有什么选项参数 )




解析:


  • ;;这是一个例子

  • [xcache-common]  

  •   

  • ;; 安装成 zend extension (推荐), 路径一般是 "$extension_dir/xcache.so"

  •   

  • ;; zend_extension = /usr/local/lib/php/extensions/non-debug-non-zts-xxx/xcache.so  

  • ;; Windows 系统例子:  

  • ;;zend_extension_ts = D:/php/ext/php_xcache.dll  

  • ;; 或者您也可把 XCache 安装成 extension, 注意确保您的 extension_dir 设置正确, 并把 xcache.so 或者 php_xcache.dll 放到该目录里面  

  • ;  extension = xcache.so  

  • ;; 或者 Win32 系统:(注意:因为我已经设置了extension_dir,所以如下的设置是正确的,如果没有配置extension_dir,需要用zend_extension_ts)  

  • extension = php_xcache.dll  

  •   

  • [xcache.admin]  

  • xcache.admin.enable_auth = On  

  • xcache.admin.user = "username"

  • ; xcache.admin.pass = md5($您的密码)  

  •   

  • xcache.admin.pass = "password"

  •   

  • [xcache]  

  • ; 这里的多数选项仅在 ini 里可以修改, 这里列出的都是默认值, 除非另外说明  

  •   

  •   

  •   

  • ; select low level shm/allocator scheme implemenation  

  • xcache.shm_scheme =    "mmap"

  • ; 禁用: xcache.size=0

  • ; 启用: xcache.size=64M 之类 (任意>0的值) 同时请注意您的系统 mmap 上限  

  • xcache.size =        64M  

  • ; 建议设置为 cpu 数 (cat /proc/cpuinfo |grep -c processor)  

  • xcache.count =         1

  • ; 只是个参考值, 您可以放心地存储多于此数量的项目(php脚本/变量)  

  • xcache.slots =        8K  

  • ; 缓存项目的 ttl, 0=永久  

  • xcache.ttl  =         0

  •   

  • ; 扫描过期项目的时间间隔, 0=不扫描, 其他值以秒为单位  

  • xcache.gc_interval =      0

  • ; 同上, 只是针对变量缓存设置  

  • xcache.var_size =      32M  

  • xcache.var_count =       1

  • xcache.var_slots =      8K  

  • ; 默认, 允许 ini_set()  

  • xcache.var_ttl  =       0

  • ; 最大ttl值  

  •   

  • xcache.var_maxttl  =     0

  • xcache.var_gc_interval =    0

  • ; 仅测试用  

  • xcache.test =        Off  

  • ; /dev/zero 时无效  

  • xcache.readonly_protection = Off  

  • ; 对于 *nix 系统, xcache.mmap_path 是文件路径而不是目录, (可以不存在 但是必须能创建).  

  •   

  •   

  • ; 如果您期望启用 ReadonlyProtection, 可以使用类似 "/tmp/xcache"

  • ; 2 个 php 组不会共享同一个 /tmp/xcache  

  • ; 对于 Win32 系统, xcache.mmap_path=匿名MAP名字, 不是文件路径. 建议使用 XCache 字眼避免跟其他软件冲突  

  •   

  • xcache.mmap_path =  "zero"

  • ; 仅用于 *nix 系统  

  •   

  • ; 设置为空(禁用) 或者类似 "/tmp/phpcore/"

  • ; 注意该目录应该能被 php 写入文件 (跟 open_basedir 无关)  

  • xcache.coredump_directory =  ""

  • ; 下面的项目开启后将实现PHP代码缓存  

  •   

  • xcache.cacher =       Off  

  • xcache.stat  =       Off  

  • xcache.optimizer =      Off  

  •   

  • [xcache.coverager]  

  • ; 如果 xcache.coveragedump_directory 设置为空则本设置自动为 Off  

  • xcache.coverager =     Off  

  •   

  • ; 请确保本目录能被 coverage viewer 脚本读取 (注意 open_basedir)  

  • ; 依赖于 xcache.coverager=On  

  • xcache.coveragedump_directory = ""

  

  这里并没有做什么加速的演示更改只是简要过程说明就是在这个位置的设置更改对php缓存参数选项;
配置更改之后还需重启 php-fpm 服务:


  

基于物理http访问:


再 编译站点目录下的 index.php 文件:


  

在此访问


  

然后使用admin管理;(这样也就是形成了图形界面化的管理、加速缓存删除更便捷了;)查看admin 目录 里 都是些php的页面,所以可以直接访问这些站点,无论何种方式都可以访问而后进行管理;

( 其实要想作为一个站点,可以有5种方式进行访问 、物理目录、虚拟目录、基于IP、基于端口、基于主机头;)


  

所以就把这个目录拷贝到站点主目录下面;

既然是个目录 ;拷贝的时候应该加递归参数;

但拷贝之后还要做一些处理;因为拷贝目录在里面了、 如果别人进行访问、那就需要对权限的更改;使之可执行:


  

进入admin目录 、对于 index.php 如果想外人想看到里面的内容仍需要有 r 权限:


  

既然是admin的管理:而且是图形界面的就需要有象征性的安全性;添加编辑用户口令:


  

编辑添加如下:


  

对于上面的经 MD5加密的之后的密文形成:

可以有两种方法输出结果都是一样的;


echo -n "admin" |openssl md5

echo -n "admin" |md5sum

  )


  

然后再重启服务后再进行物理访问:

service php-fpm restart

  


  

输入用及口令登录显示图形界面管理加速器


在图形界面看到的还是比较直观的、便于与操作的管理;PHP加速有多种方法;这里只是给xcache举个实例;

里面看到一些 与xcache相关的模块;i图形界面的可以在此对缓存的管理清除;依此来变也可加快数据库调用。以他为例再说说Xcahce的2个特点:
一能将PHP代码进行编译(表现类似于.NET和JAVA的编译,内部机制不同),这样可以不用重复读取PHP文件,加速整个程序的运行效率。
二可以缓存数据到内存中,直接可以方便调用,例如你的一些不会经常改动的数据,只用一次从数据库读取出来后保存到Xcache中,就不用再去使用数据库了。

  

其他的加速器:

一:

XCache 是一个不仅快而且稳定的 PHP opcode 缓存器;它通过把编译 PHP 后的数据缓冲到共享内存从而避免重复的编译过程,能够直接使用缓冲区已编译的代码从而提高速度。

XCache是一套快速稳定的PHP代码加速器。在Linux下测试,高负载状况下表现良好,同时还支持ThreadSafe/Windows。

二:

Zend Optimizer用优化代码的方法来提高PHP应用程序的执行速度。实现的原理是对那些在被最终执行之前由运行编译器(Run-Time Compiler)产生的代码进行优化。

三:

eAccelerator 是一个免费开源的PHP加速、优化、编译和动态缓存的项目,它可以通过缓存PHP代码编译后的结果来提高PHP脚本的性能,使得一向很复杂和离我们很远的PHP脚本编译问题完全得到解决。通过使用eAccelerator,可以优化你的PHP代码执行速度,降低服务器负载,可以提高PHP应用执行速度最高达10倍。

  





运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-653554-1-1.html 上篇帖子: php支持mod及php 下篇帖子: Centos安装Gearman及其php扩展
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表