LAMP环境-编译安装php-fpm
配置httpd-2.4.23以fpm方式的php-5.5.38
一、apache、MySQL的安装与前一部分相同;请根据其进行安装;
可以参考编译安装LAMP http://ljohn.blog.51cto.com/11932290/1863283
二、编译安装php-5.5.38
1、解决依赖关系:
请配置好yum源(可以是本地系统光盘)后执行如下命令:
#yum-ygroupinstall"XSoftwareDevelopment"
如果想让编译的php支持mcrypt扩展可以下载如下rpm包。
libmcrypt-2.5.7-5.el5.i386.rpmlibmcrypt-devel-2.5.7-5.el5.i386.rpmmhash-0.9.9-1.el5.centos.i386.rpmmhash-devel-0.9.9-1.el5.centos.i386.rpm
2、编译安装php-5.5.38
#tarzxfphp-5.5.38.tar.gz#cdphp-5.5.38#./configure--prefix=/usr/local/php5--with-mysql=/usr/local/mysql--with-openssl--with-mysqli=/usr/local/mysql/bin/mysql_config--enable-mbstring--with-freetype-dir--with-jpeg-dir--with-png-dir--with-zlib--with-libxml-dir=/usr--enable-xml--enable-sockets--enable-fpm--with-mcrypt--with-config-file-path=/etc/php5--with-config-file-scan-dir=/etc/php5.d--with-bz2
说明:如果使用PHP5.3以上版本,为了链接MySQL数据库,可以指定mysqlnd,这样在本机就不需要先安装MySQL或MySQL开发包了。mysqlnd从php 5.3开始可用,可以编译时绑定到它(而不用和具体的MySQL客户端库绑定形成依赖),但从PHP 5.4开始它就是默认设置了。
#./configure--with-mysql=mysqlnd--with-pdo-mysql=mysqlnd--with-mysqli=mysqlnd
#make&&makeintall
为php提供配置文件:#mkdir/etc/php5{,.d}#cpphp.ini-production/etc/php5/php.ini
编辑php-fpm的配置文件:
#vim/usr/local/php5/etc/php-fpm.conf配置fpm的相关选项为你所需要的值,并启用pid文件(如下最后一行):pm.max_children=50pm.start_servers=5pm.min_spare_servers=2pm.max_spare_servers=8pid=/usr/local/php5/var/run/php-fpm.pid
接下来就可以启动php-fpm了:
#servicephp-fpmstart
使用如下命令来验正(如果此命令输出有中几个php-fpm进程就说明启动成功了):
#psaux|grepphp-fpm
默认情况下,fpm监听在127.0.0.1的9000端口,也可以使用如下命令验正其是否已经监听在相应的套接字。
#netstat-tnlp|grepphp-fpmtcp00127.0.0.1:90000.0.0.0:*LISTEN689/php-fpm
三、配置httpd-2.4.23
#vim/etc/httpd24/httpd.conf
1、启用httpd的相关模块
在Apache httpd 2.4以后已经专门有一个模块针对FastCGI的实现,此模块为mod_proxy_fcgi.so,它其实是作为mod_proxy.so模块的扩充,因此,这两个模块都要加载
LoadModuleproxy_modulemodules/mod_proxy.soLoadModuleproxy_fcgi_modulemodules/mod_proxy_fcgi.so
2、配置中心主机
添加:ProxyRequestsOffProxyPassMatch^/(.*\.php)$fcgi://127.0.0.1:9000/usr/local/apache/htdocs/$1
3、编辑apache配置文件httpd.conf,让apache能识别php格式的页面,并支持php格式的主页
#vim/etc/httpd/httpd.conf1、添加如下二行AddTypeapplication/x-httpd-php.phpAddTypeapplication/x-httpd-php-source.phps2、定位至DirectoryIndexindex.html修改为:DirectoryIndexindex.phpindex.html
补充:Apache httpd 2.4以前的版本中,要么把PHP作为Apache的模块运行,要么添加一个第三方模块支持PHP-FPM实现。
四、给PHP安装xcache-3.2.0加速器
1、安装xcache-3.2.0#tarzxfxcache-3.2.0.tar.gz#cdxcache-3.2.0#/usr/local/php/bin/phpize#./configure--enable-xcache--with-php-config=/usr/local/php5/bin/php-config#make&&makeinstall
安装结束时,会出现类似如下行:
Installingsharedextensions:/usr/local/php5/lib/php/extensions/no-debug-non-zts-20121212/
2、编辑php.ini,整合php和xcache:
首先将xcache提供的样例配置导入php.ini#mkdir/etc/php5.d#cpxcache.ini/etc/php5.d
说明:xcache.ini文件在xcache的源码目录中。
接下来编辑vim/etc/php5.d/xcache.ini,找到zend_extension开头的行,修改为如下行:extension=/usr/local/php5/lib/php/extensions/no-debug-non-zts-20121212/xcache.so
配置完成后重启php-fpm服务,和httpd24服务
#servicephp-fpmrestart#servicehttpd24restart
浏览器访问http://192.168.137.30检查php测试页面是否加载出XCache插件的信息。
压力测试
#ab-c20-n500http://192.168.137.30/pma/index.php
相比较之前速度提升5倍左右(测试参考值)
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。