导语:有客户的服务器使用的web环境是centos 6.5 + apcache 2.4 + mysql 5.6 + php 5.6,但没有对php做性能优化。所以,叶子为了给客户的机器做性能优化,为它安装了opcahce,下面是具体的步骤。
安装opcache过程
PHP5.5.0以后版本自带Opcache加速器,但默认情况下木有启用。所以编译的使用我们想要启用该PHP加速器就应该添加参数 : –enable-opcache 来制定。
对于已经编译安装了PHP5.5.0以上版本但当初又没有启用该加速器的用户可以像PHP添加模块一样编译添加。添加已经编译安装好的PHP模块可参照 这里 。
下面是编译安装的过程。
查找php5.6自带包的位置,使用下面的命令。
[root]# find / -name opcache /usr/local/php-5.6/extcode/opcache
查找phpize的位置。
[root]# find / -name phpize /usr/local/php-5.6/bin/phpize /usr/local/php-generic-5.3/bin/phpize
切换到opcache包的目录
[root]# cd /usr/local/php-5.6/extcode/opcache
然后在包的目录,执行phpize。
[root opcache]# /usr/local/php-5.6/bin/phpize Configuring for: PHP Api Version: 20090626 Zend Module Api No: 20090626 Zend Extension Api No: 220090626
不要切换目录,继续在当前目录下执行下面的configure。
./configure --with-php-config=/usr/local/php-5.6/bin/php-config
还是在这个目录,继续编译文件。
make && make install Build complete. Don't forget to run 'make test'. Installing shared extensions: /usr/local/php-5.6/lib/php/extensions/no-debug-non-zts-20131226/
最后它会告诉你opcache.so已经编译成功,就放在/usr/local/php-5.6/lib/php/extensions/no-debug-non-zts-20131226/这个目录里。
用vi打开php.ini,编写opcache的配置参数。如果你不知道你的php.ini在哪里,可以用phpinfo.php来查看。
vi /home/wwwroot/etc/php.ini
将下面的代码放置在php.ini的最后面,保存后退出。
[opcache] zend_extension = /usr/local/php-5.6/lib/php/extensions/no-debug-non-zts-20131226/opcache.so opcache.enable=1 opcache.memory_consumption = 64 opcache.interned_strings_buffer = 8 opcache.max_accelerated_files = 4000 opcache.revalidate_freq = 60 opcache.fast_shutdown = 1 opcache.enable_cli = 1
重启php-fpm
先用下面的命令找出php-fpm的master进程号
ps aux|grep php-fpm [root@iZ62b2wlpwdZ opcache]# ps aux|grep php-fpm root 11473 0.0 0.2 274592 5168 ? Ss 14:29 0:00 php-fpm: master process (/home/wwwroot/php-fpm/php-fpm.conf) www 11474 0.0 0.2 274592 4656 ? S 14:29 0:00 php-fpm: pool www www 11475 0.0 0.2 274592 4656 ? S 14:29 0:00 php-fpm: pool www
重启php-fpm:
kill -USR2 11473
php-fpm的master进程可以理解以下信号
INT, TERM 立刻终止
QUIT 平滑终止
USR1 重新打开日志文件
USR2 平滑重载所有worker进程并重新载入配置和二进制模块
注意,如果你没有使用php-fpm。那么就直接重启apache就可以了。
结束
你学会了吗?