CentOS 5.4下安装eAccelerator

最近研究完varnish后,想了解下其他的加速方法,所以有了这篇文章.

系统:centos 5.4 32位
ip:192.168.1.253

1.安装apache.php.mysql,以及这次试验要用的组件

yum -y install httpd php mysql mysql-server php-mysql httpd-manual httpd-devel mod_ssl

mod_perl mod_auth_mysql php-gd php-xml php-mbstring php-ldap php-pear mysql-connector-odbc

mysql-devel libdbi-dbd-mysql bzip2 gcc* make libtool

说明下吧,免得大家都不知道装了些什么,这个yum安装里我把apache.php.mysql的扩展模块也一起安装进

去了,所以就不用再装autoconf、automake、m4还有php-devel了.

2.下载eaccelerator并安装eaccelerator.

先用php -v这个命令看看php的版本是多少再决定下那个eaccelerator


这里可以看到我的php版本是5.1.6的,所以我就下了eaccelerator-0.9.5.3.tar.bz2.

tar zxf eaccelerator-0.9.5.3.tar.bz2 && cd eaccelerator-0.9.5.3
export PHP_PREFIX=”/usr” 指定php的安装目录,我的是yum安装的,所以要指到/usr,如果是手动编译的话

先查看php的编译参数再决定指到那吧,查看编译参数自己百度去吧,都说完了还要你们做什么.
$PHP_PREFIX/bin/phpize 安装php-devel才有这个文件,如果没有复制我的yum参数的话就自己装下php-

devel吧.
./configure –enable-eaccelerator=shared –with-php-config=$PHP_PREFIX/bin/php-config
make && make install

3.配置eaccelerator
把/root/eaccelerator-0.9.5.3里的eaccelerator.ini复制到/etc/php.d下,当然也可以自己新建

eaccelerator.ini,这个看自己的喜好了.我是直接在/etc/php.d里新建的.
vi /etc/php.d/eaccelerator.ini

[eaccelerator]
extension=”eaccelerator.so”
eaccelerator.shm_size=”32″
eaccelerator.cache_dir=”/tmp/eaccelerator”
eaccelerator.enable=”1″
eaccelerator.optimizer=”1″
eaccelerator.check_mtime=”1″
eaccelerator.debug=”0″
eaccelerator.filter=”"
eaccelerator.shm_max=”0″
eaccelerator.shm_ttl=”0″
eaccelerator.shm_prune_period=”0″
eaccelerator.shm_only=”0″
eaccelerator.compress=”1″
eaccelerator.compress_level=”9″

mkdir -p /tmp/eaccelerator
chmod 777 /tmp/eaccelerator

service httpd restart

4.最后用php -v检查下

PHP 5.1.6 (cli) (built: Apr  7 2009 08:00:04)
Copyright (c) 1997-2006 The PHP Group
Zend Engine v2.1.0, Copyright (c) 1998-2006 Zend Technologies
    with eAccelerator v0.9.5.3, Copyright (c) 2004-2006 eAccelerator, by eAccelerator
如果出现这些信息,就可以放心,最后再用phpinfo确认下.

vi /var/www/vhosts/tt.php

<?
phpinfo();
?>

访问http://ip/tt.php

5.eaccelerator配置信息详解

extension=”eaccelerator.so” PHP扩展eaccelerator.so的路径.

eaccelerator.shm_size=”32″  eaccelerator可使用的共享内存大小(单位为MB).

eaccelerator.cache_dir=”/tmp/eaccelerator” 缓存路径,可以使用命令mkdir -p /tmp/eaccelerator

创建该目录,然后使用命令chmod 777 /tmp/eaccelerator设置该目录权限为777

eaccelerator.enable=”1″     打开或者关闭代码优化,开启可以加快代码的执行速度。”1″指打开,”0″

指关闭。默认值为”1″.

eaccelerator.check_mtime=”1″ 当打开此项时,eaccelerator会在每次请求时检查php文件的修改时间,

看其是否被修改过,这会耗费一点时间,如果php文件被修改过,eaccelerator会重新编译缓存该php文件

.当关闭此项时,如果php文件被修改,则需要手工删除eaccelerator缓存,才能显示被修改的php文

件.”1″指打开,”0″指关闭,默认值为”1″.

eaccelerator.debug=”0″ 打开或者关闭调试记录。当打开时,eaccelerator会将对一个缓存文件的每次

请求都写进log。打开此项只对调试eaccelerator是否有BUG时有益处。”1″指打开,”0″指关闭。默认值为

“0″.

eaccelerator.filter=”" 决定哪些PHP文件应该被缓存。可以指定一个范围(比如”*.php *.phtml”),这

样被指定的文件就会被缓存。如果该范围以!开头,被指定的文件就不会被缓存。默认值为”",表示缓存

所有的PHP文件.

eaccelerator.shm_max=”0″  一个用户使用例如eaccelerator_put之类的函数能够往共享内存中加载的最

大数据。默认值为”0″,表示不限制。(单位为字节)

eaccelerator.shm_ttl=”0″ 当没有足够的空闲共享内存去尝试缓冲一个新脚本时,将删除至少在shm_ttl

秒之前没有被访问过的文件。默认值为”0″,表示不尝试从共享内存中删除任何旧的脚本。(单位为秒)

eaccelerator.shm_prune_period=”0″ 当没有足够的空闲共享内存去尝试缓冲一个新脚本时,将删所有旧

脚本,前提是这个尝试在超过shm_prune_period秒之前被执行过。默认值为”0″,表示不尝试从共享内存

中删除任何旧的脚本。(单位为秒)

eaccelerator.shm_only=”0″ 打开或者关闭在磁盘上缓存编译过的脚本。这个参数对会话数据和内容缓存

没有效果。默认值为”0″,表示使用磁盘和共享内存来缓存.

eaccelerator.compress=”1″ 打开或者关闭缓存内容压缩。”1″指打开,”0″指关闭。默认值为”1″.

eaccelerator.compress_level=”9″ 内存压缩的级别。默认值为”9″,表示最大压缩.

你可能感兴趣的:(PHP,centos,缓存,eaccelerator,休闲)