Total Pageviews

Friday, 16 December 2011

centos vps下,安装Zend Optimizer与eAccelerator

安装配置Zend Optimizer

wget http://down.onovps.com/linux/ZendOptimizer-3.3.9-linux-glibc23-i386.tar.gz
tar -xzvf ZendOptimizer-3.3.9-linux-glibc23-i386.tar.gz
cd ZendOptimizer-3.3.9-linux-glibc23-i386/data/5_1_x_comp
cp ZendOptimizer.so /usr/lib/php/modules/


编辑php.ini
vim /etc/php.ini

添加以下内容

[Zend Optimizer]
zend_optimizer.optimization_level=15 #启动多少优化过程
zend_extension=/usr/lib/php/modules/ZendOptimizer.so

安装配置eAccelerator
wget http://down.onovps.com/linux/eaccelerator-0.9.6.1.zip
unzip eaccelerator-0.9.6.1.zip
cd eaccelerator-0.9.6.1
phpize
./configure
make
make install

在make的过程中可能会出现以下错误:

zend_property_info’ has no member named ‘ce’
make: *** [ea_store.lo] Error 1

解决方法
vim ea_store.c
用//注释掉683行return (child_info->ce != from)
然后重新make make install

成功安装后修改配置文件:

vi /etc/php.ini

添加如下内容:

[eaccelerator]
extension=eaccelerator.so
eaccelerator.shm_size=64 ;此处是加速器使用的共享内存的大小
eaccelerator.cache_dir=/tmp/eaccelerator
eaccelerator.enable=1
eaccelerator.optimizer=1
eaccelerator.check_mtime=1
eaccelerator.debug=0
eaccelerator.log_file=/var/log/httpd/eaccelerator.log
eaccelerator.filter=
eaccelerator.shm_max=0
eaccelerator.shm_ttl=0
eaccelerator.shm_prune_period=0
eaccelerator.shm_only=0

然后新建缓存文件并设置权限

mkdir /tmp/eaccelerator
chmod 777 /tmp/eaccelerator

重启httpd服务器,完成。

/etc/init.d/httpd restart
----------------------------------
在cPanel主机上自行安装Zend Optimizer

一、查看phpinfo
方法:上传phpinfo.php文件到web的根目录. 在浏览器中访问此脚本. 如

http://www.xxx.com/phpinfo.php

1、 先看看有没有安装Zend Optimizer。安装了就不需要再看接下来的步骤了

2、php的版本,这个不多说.
3、 看看最上面的System信息,看看系统是x86_64,还是i386的.
如下面这个是x86_64的.

4、配置文件的位置(学会搜索Ctrl+F)

Loaded Configuration File

5、当前脚本的位置
SCRIPT_FILENAME

判断一下当前目录的绝对路径.如上例,得到实际的根目录是/home/conz/

二、 下载Zend Optimizer 3.3.9
x86:
http://downloads.zend.com/optimizer/3.3.9/ZendOptimizer-3.3.9-linux-glibc23-i386.tar.gz

x64:
http://downloads.zend.com/optimizer/3.3.9/ZendOptimizer-3.3.9-linux-glibc23-x86_64.tar.gz

下载后解压,进入data文件夹后,找到对应版本的so文件.

三、上传so文件.
这里在根目录上建一个文件夹,如phpext。把so文件上传到这个文件夹里。 根据上面的判断得到的根目录的路径就可以得到so文件的路径,这里是:
 /home/conz/phpext/ZendOptimizer.so

不建议要把so文件上传到public_html目录..

四、修改php.ini找到上面phpinfo里的所指的php.ini文件. 如果没有找找public_html目录,再没有自己用写字板新建一个.在后面添加:
zend_optimizer.optimization_level=1023
zend_extension=/home/conz/phpext/ZendOptimizer.so

不要加入任何空格和制表符.
zend_extension的路径改为你的实际路径。

五,上传覆盖php.ini文件.有的空间可能php.ini的名字和位置不一样,请咨询空间提供商,怎么样可以修改php的配置.

六, 刷新一下phpinfo.php的那网页看看是否已经生效. 如果无法自动生产,请联系空间提供商,重启web的服务.
--------------------------------------------------------------------------

安装eAccelerator加速PHP程序的运行

系统环境:CENTOS vps
1
2
3
4
5
6
7
wget http://nchc.dl.sourceforge.net/project/eaccelerator/eaccelerator/eAccelerator%200.9.6.1/eaccelerator-0.9.6.1.zip
unzip eaccelerator-0.9.6.1.zip
cd eaccelerator-0.9.6.1
phpize
./configure
make
make install

vi /etc/php.d/eaccelerator.ini
OpenVZ VPS写入以下内容
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 
extension="eaccelerator.so"
eaccelerator.shm_size="0"
eaccelerator.cache_dir="/tmp/eaccelerator"
eaccelerator.enable="1"
eaccelerator.optimizer="1"
eaccelerator.check_mtime="1"
eaccelerator.debug="0"
eaccelerator.log_file = "/var/log/eaccelerator_log"
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"
eaccelerator.keys = "disk_only"
eaccelerator.sessions = "disk_only"
eaccelerator.content = "disk_only"
Xen VPS 写入以下内容
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
extension="eaccelerator.so"
eaccelerator.shm_size="64"
eaccelerator.cache_dir="/tmp/eaccelerator"
eaccelerator.enable="1"
eaccelerator.optimizer="1"
eaccelerator.check_mtime="1"
eaccelerator.debug="0"
eaccelerator.log_file = "/var/log/eaccelerator_log"
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"
eaccelerator.keys = "shm_and_disk"
eaccelerator.sessions = "shm_and_disk"
eaccelerator.content = "shm_and_disk"
mkdir -p /var/cache/eaccelerator
chmod 0777 /var/cache/eaccelerator
service httpd restart
php -v 测试eaccelerator是否安装成功
#php -v 输出以下内容
PHP 5.2.17 (cli) (built: Feb 19 2011 11:52:47)
Copyright (c) 1997-2010 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2010 Zend Technologies
with eAccelerator v0.9.6.1, Copyright (c) 2004-2010 eAccelerator, by eAccelerator
with Zend Extension Manager v1.2.2, Copyright (c) 2003-2007, by Zend Technologies
with Zend Optimizer v3.3.3, Copyright (c) 1998-2007, by Zend Technologies
----------------------------------------------------------------------------------

CentOS VPS下,安装Zend Optimizer


cd /usr/local/src
wget http://downloads.zend.com/optimizer/3.3.3/ZendOptimizer-3.3.3-linux-glibc23-i386.tar.gz
tar -xzvf ZendOptimizer-3.3.3-linux-glibc23-i386.tar.gz
./ZendOptimizer-3.3.3-linux-glibc23-i386/install.sh
-----------------------------------------------------------------
install php-fpm and zend optimizer on ubuntu/debian

1. add apt key

apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 19803648C18789EA

2. add the source into  /etc/apt/source.list.  the source is only avaiable for hardy and lucid version.

deb http://ppa.launchpad.net/jdub/ppa/ubuntu lucid main

root@ubuntu:~# apt-get update

root@ubuntu:~# apt-cache search php52
php52-pear - PEAR - PHP Extension and Application Repository
libapache2-mod-php52 - server-side, HTML-embedded scripting language (Apache 2 module)
php52 - server-side, HTML-embedded scripting language
php52-dev - Files for PHP5 module development
php52-fpm - server-side, HTML-embedded scripting language (FastCGI Manager)
php52-apc - Alternative PHP Cache
php52-common - server-side, HTML-embedded scripting language
php52-xdebug - Function traces and profiling for PHP
php52-cairowrapper - Cairo Wrapper Extension
php52-ioncube - ionCube Loader for PHP

3. install the fpm package

apt-get update

apt-get install php52-common php52-dev php52-fpm php52

4. vi /etc/init.d/php52-fpm

change the line

php_fpm_CONF=/etc/php53/php-fpm.conf

to

php_fpm_CONF=/etc/php52/php-fpm.conf

change the line

php_fpm_PID=/var/run/php52-fpm.pid

to

php_fpm_PID=/var/run/php-fpm.pid

4. edit the php fpm configure file : /etc/php52/php-fpm.conf

<?xml version="1.0" ?>
<configuration>
<section name="global_options">
<value name="pid_file">/var/run/php-fpm.pid</value>
<value name="error_log">/var/log/php-fpm.log</value>
<value name="log_level">notice</value>
<value name="emergency_restart_threshold">10</value>
<value name="emergency_restart_interval">1m</value>
<value name="process_control_timeout">5s</value>
<value name="daemonize">yes</value>
</section>
<workers>
<section name="pool">
<value name="name">default</value>
<value name="listen_address">/tmp/php-fcgi.sock</value>
<value name="listen_options">
<value name="backlog">-1</value>
<value name="owner"></value>
<value name="group"></value>
<value name="mode">0666</value>
</value>
<value name="php_defines">
<value name="sendmail_path">/usr/sbin/sendmail -t -i</value>
<value name="display_errors">0</value>
</value>
<value name="user">www-data</value>
<value name="group">www-data</value>
<value name="pm">
<value name="style">apache-like</value>
<value name="max_children">15</value>
<value name="apache_like">
<value name="StartServers">5</value>
<value name="MinSpareServers">5</value>
<value name="MaxSpareServers">15</value>
</value>
</value>
<value name="request_terminate_timeout">0s</value>
<value name="request_slowlog_timeout">0s</value>
<value name="slowlog">logs/slow.log</value>
<value name="rlimit_files">65535</value>
<value name="rlimit_core">0</value>
<value name="chroot"></value>
<value name="chdir"></value>
<value name="catch_workers_output">yes</value>
<value name="max_requests">1024</value>
<value name="allowed_clients">127.0.0.1</value>
<value name="environment">
<value name="HOSTNAME">$HOSTNAME</value>
<value name="PATH">/usr/local/bin:/usr/bin:/bin</value>
<value name="TMP">/tmp</value>
<value name="TMPDIR">/tmp</value>
<value name="TEMP">/tmp</value>
<value name="OSTYPE">$OSTYPE</value>
<value name="MACHTYPE">$MACHTYPE</value>
<value name="MALLOC_CHECK_">2</value>
</value>
</section>
</workers>
</configuration>

5.Install Zend Optimizer

wget http://downloads.zend.com/optimizer/3.3.9/ZendOptimizer-3.3.9-linux-glibc23-x86_64.tar.gz

tar zxf  ZendOptimizer-3.3.9-linux-glibc23-x86_64.tar.gz

cp ZendOptimizer-3.3.9-linux-glibc23-x86_64/data/5_2_x_comp/ZendOptimizer.so /usr/lib/php52/20060613/

add the following line to /etc/php52/fpm/php.ini

zend_extension=/usr/lib/php52/20060613/ZendOptimizer.so

6. start the php-fpm start

/etc/init.d/php52-fpm restart
------------------------------------------

用eAccelerator帮助网站再次提速


有个叫做eAccelerator的开源代码可以帮助网站再次加速,不仅帮助脚本缓存,还可以缓存内存(低阶的VPS可以使用)。

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

使用方法:
普通网站的PHP代码大家自己研究吧.
wordpress的加速方法

1.登入eaccelerator.ne去查看说明文档,对于wordpress的优化说的蛮清除的。
2.wordpress2.0以上的版本都可以使用,把eAccelerator的WP插中的object-cache.php传到件WP-content (注:如果你的服务器是Windows系统,那么需要重新启动IIS,我啰嗦一下如果wp用win主机趁早放弃吧,不然后悔就晚了!)
3.点击下载eAccelerator的wordpress内存加速插件: http://neosmart.net/downloads/software/WordPress/Plugins/object-cache/eaccelerator-object-cache_0.6.zip