博客统计信息

51cto推荐博客
用户名:myredhat
文章数:61
评论数:76
访问量:62701
无忧币:525
博客积分:1236
博客等级:5
注册日期:2010-07-02

我的技术圈(2)

更多>>
LNMP上升级部署PHP加速器eAccelerator
2012-02-01 13:41:16
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://linuxxx.blog.51cto.com/1824808/770404
             本文仅在LAMP或LNMP架构的基础上升级部署PHP加速器“eAccelerator”
一、关于:eAccelerator的介绍和理解
1.起源背景    
   eAccelerator 是一个免费开源的PHP加速、优化、编译和动态缓存的项目,它可以通过缓存PHP代码编译后的结果来提高PHP脚本的性能,使得一向很复杂和离我们很远的 PHP脚本编译问题完全得到解决。通过使用eAccelerator,可以优化你的PHP代码执行速度,降低服务器负载,可以提高PHP应用执行速度最高 达10倍。
   eAccelerator 项目诞生于2004年,当时它是作为 Turck MMCache 项 目的一个分支提出并投入开发的。 Turck MMCache 由 Dmitry Stogov 开发,是个非常优秀的PHP内存缓存加速系统,如今仍然有很大部分 eAccelerator 的代码应用到该项目中,目前该项目有很长时间没有更新了,对于最新的PHP5.x的支持还未推出。
2、原理
   eAccelerator 通过把经过编译后的PHP代码缓存到共享内存中,并在用户访问的时候直接调用从而起到高效的加速作用。它的效率非常高,从创建共享内存到查找编译后的代码 都在非常短的时间内完成,对于不能缓存到共享内存中的文件和代码,eAccelerator还可以把他们缓存到系统磁盘上。
   eAccelerator 同样还支持PHP代码的编译和解释执行,你可以通过encoder.php脚本来对php代码进行编译达到保护代码的目的,经过编译后的代码必须运行在安 装了eAccelerator的环境下。eAccelerator编译后的代码不能被反编译,它不象其他一些编译工具那样可以进行反编译,这将使得代码更 加安全和高效。
3.调用 eAccelerator 过程
Apache中使用mod_php的请求、响应执行流程:
1、Apache接收请求。
2、Apache传递请求给mod_php。
3、mod_php定位磁盘文件,并加载到内存中。
4、mod_php编译源代码成为opcode树。
5、mod_php执行opcode树。
PHP加速器相应的就是第四步,目的就是防止PHP每次请求都重复编译PHP代码,因此提高的访问速度(在漂移中俗称:加速器)
//(以上信息摘自互联网,以下为配置过程)
二、系统信息
1.系统环境: (在原有基础上直接升级部署)
参考博文:http://linuxxx.blog.51cto.com/1824808/719972
硬件:HP 360G4/2G
System:Centos 5.4 
Web:nginx-1.1.6.tar.gz  
FastCGI:php-5.3.8.tar.gz
DB:mysql-5.5.3-m3.tar.gz
三、安装部署软件
1.安装eaccelerator-0.9.6.1.tar.bz2
#tar jxvf eaccelerator-0.9.6.1.tar.bz2
#cd eaccelerator-0.9.6.1/
#/usr/local/php/bin/phpize                 //
#./configure --enable-eaccelerator=shared \
 --with-php-config=/usr/local/php/bin/php-config
#make
#make install
//析:/usr/local/php/bin/phpize 命令为php扩展模块,通过phpize可以建立php的外挂模块,
//phpize在php编译安装后的bin目录中
//在编译你要添加的扩展模块之前,需要执行phpize命令;
2.配置eAccelerator加速PHP
#mkdir /usr/local/eaccelerator_cache              //为eaccelerator建缓存目录
#chmod 777 /usr/local/eaccelerator_cache      //赋予777权限
3.修改PHP配置文件php.ini
#vi /usr/local/php/etc/php.ini
//增加以下信息
;[eaccelerator]
zend_extension="/usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/eaccelerator.so"
eaccelerator.shm_size="64"
eaccelerator.cache_dir="/usr/local/eaccelerator_cache"      // 缓存文件存放位置
eaccelerator.enable="1"
eaccelerator.optimizer="1"
eaccelerator.check_mtime="1"
eaccelerator.debug="0"
eaccelerator.filter=""
eaccelerator.shm_max="0"
eaccelerator.shm_ttl="3600"
eaccelerator.shm_prune_period="3600"
eaccelerator.shm_only="0"
eaccelerator.compress="1"
eaccelerator.compress_level="9"
4.验证eAccelerator是否部署成功
//通过浏览器访问您的phpinfo()页面

//或者运行#/usr/local/php/bin/php -i |head -10 查看php配置信息(主要是前10行)
//当php -i 没有显示错误,那么请赶快#cd /usr/local/eaccelerator_cache
//如果有文件生成,证明eAccelerator为PHP加速安装成功!
5.本次升级成功完成,下次升级memcache和memcached敬请期待。。。
说明:配置虽然不多,但比较经典

本文出自 “寒枫” 博客,请务必保留此出处http://linuxxx.blog.51cto.com/1824808/770404

分享至
更多
一键收藏,随时查看,分享好友!
shoujizy
1人
了这篇文章
类别:Linux技术圈()┆阅读()┆评论() ┆ 推送到技术圈返回首页

文章评论

 
2012-02-15 13:46:34
lnmp的另一个加速器 ZendGuardLoader 你了解么
博主回复:
2012-02-15 18:41:30
私下学习过,生产上没有应用

 

发表评论            

【技术门诊】专家解析:软考重点难点及应试技巧
昵  称:
登录  快速注册
验证码:

请点击后输入验证码博客过2级,无需填写验证码

内  容: