本文仅在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
2.eAccelerator软件下载
#wget http://bart.eaccelerator.net/source/0.9.6.1/eaccelerator-0.9.6.1.tar.bz2
#wget http://blog.s135.com/soft/linux/nginx_php/eaccelerator/eaccelerator-0.9.6.1.tar.bz2
//(张宴博客 http://blog.s135.com)
三、安装部署软件
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敬请期待。。。
说明:配置虽然不多,但比较经典