LAMP环境-编译安装php-fpm
admin
2023-06-21 11:22:13
0

配置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 -y groupinstall "X Software Development"


如果想让编译的php支持mcrypt扩展可以下载如下rpm包。

libmcrypt-2.5.7-5.el5.i386.rpm
libmcrypt-devel-2.5.7-5.el5.i386.rpm
mhash-0.9.9-1.el5.centos.i386.rpm
mhash-devel-0.9.9-1.el5.centos.i386.rpm


2、编译安装php-5.5.38

# tar zxf php-5.5.38.tar.gz
# cd php-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 && make intall
为php提供配置文件:
# mkdir /etc/php5{,.d}
# cp php.ini-production /etc/php5/php.ini


编辑php-fpm的配置文件:

# vim /usr/local/php5/etc/php-fpm.conf
配置fpm的相关选项为你所需要的值,并启用pid文件(如下最后一行):
pm.max_children = 50
pm.start_servers = 5
pm.min_spare_servers = 2
pm.max_spare_servers = 8
pid = /usr/local/php5/var/run/php-fpm.pid


接下来就可以启动php-fpm了:

# service php-fpm start

使用如下命令来验正(如果此命令输出有中几个php-fpm进程就说明启动成功了):

# ps aux | grep php-fpm


默认情况下,fpm监听在127.0.0.1的9000端口,也可以使用如下命令验正其是否已经监听在相应的套接字。

# netstat -tnlp | grep php-fpm
tcp        0      0 127.0.0.1:9000              0.0.0.0:*                   LISTEN      689/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模块的扩充,因此,这两个模块都要加载

LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so


2、配置中心主机

添加:
ProxyRequests Off
ProxyPassMatch ^/(.*\.php)$ fcgi://127.0.0.1:9000/usr/local/apache/htdocs/$1


3、编辑apache配置文件httpd.conf,让apache能识别php格式的页面,并支持php格式的主页

 
 # vim /etc/httpd/httpd.conf
 1、添加如下二行
   AddType application/x-httpd-php  .php
   AddType application/x-httpd-php-source  .phps
 2、定位至DirectoryIndex index.html 
   修改为:
    DirectoryIndex  index.php  index.html

补充:Apache httpd 2.4以前的版本中,要么把PHP作为Apache的模块运行,要么添加一个第三方模块支持PHP-FPM实现。

四、给PHP安装xcache-3.2.0加速器

1、安装xcache-3.2.0
# tar zxf xcache-3.2.0.tar.gz
# cd xcache-3.2.0
# /usr/local/php/bin/phpize
# ./configure --enable-xcache --with-php-config=/usr/local/php5/bin/php-config
# make && make install


安装结束时,会出现类似如下行:

Installing shared extensions:     /usr/local/php5/lib/php/extensions/no-debug-non-zts-20121212/


2、编辑php.ini,整合php和xcache:

首先将xcache提供的样例配置导入php.ini
# mkdir /etc/php5.d
# cp xcache.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服务

# service php-fpm restart
# service httpd24 restart


浏览器访问http://192.168.137.30检查php测试页面是否加载出XCache插件的信息。

压力测试

# ab -c 20 -n 500 http://192.168.137.30/pma/index.php

相比较之前速度提升5倍左右(测试参考值)


相关内容

热门资讯

面对中国,“发达国家犯的最大错... 【文/观察者网 阮佳琪】在2026年北京国际汽车展览会这一全球规模最大的车展举办期间(4月24日至5...
全新问界M9感知系统公布:搭载... PChome 5月27日消息,今日,在全新问界M9发布会中,华为常务董事、产品投资评审委员会主任、终...
看见2030!一起打开河南“十... 5月28日,“开局起步‘十五五’”河南专场新闻发布会在郑州举行。发布会以“奋...
杭州通报非法代孕窝点情况 5月28日,据“天天看临平”公众号,浙江省杭州市临平区今日联合调查处置组发布情况通报。针对群众反映临...
维他科技取得上悬窗用铰链专利,... 国家知识产权局信息显示,广东维他科技有限公司取得一项名为“一种上悬窗用铰链”的专利,授权公告号CN2...
韩国前总统尹锡悦涉嫌作伪证案一... 新华社首尔5月28日电(记者 黄昕欣)据韩联社消息,韩国前总统尹锡悦涉嫌在前国务总理韩德洙涉内乱案...
许君以昌 商通四海——解码城商... 地标“许昌之门”广场上的“许君以昌”石刻,尽显汉魏古都的开放与厚重。在许昌智能继电器股份有限公司装配...
华为成立半导体公司:从自研5G... 快科技5月26日消息,2026国际电路与系统研讨会上,华为公司董事、半导体业务部总裁何庭波在题为半导...
坚决打好“三夏”攻坚战 全力确... 河南日报讯(全媒体记者 李宗宽 王娟)5月27日,副省长李酌赴南阳调研“三夏”生产工作。李酌先后来到...
津巴布韦宣布将14种关键矿产强... 津巴布韦政府近日发布《矿产分类与宣言》,正式将锂、镍、钴、石墨等14种矿产列为受股权和出口管制的“关...