环境:

redhat5.8(2.6.18-194.el5.i386,_)

Apache-httpd 2.4.16

MysQl mysql-5.6.25二进制通用包

PHP php-5.6.11

pcre-8.35

xcache 3.2

安装顺序:

apr-->apr-util-->httpd-->mysql-->php-->xcache

安装httpd服务和mysql在另一篇文章有详细介绍,此处不再累述.需要注意的是httpd服务2.4以上的版本需要pcre8.0以上的版本支持.在编译安装httpd前安装pcre的rpm安装包即可.

编译安装fastaphp:

进入解压目录直行:./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql --with-openssl --with-mysqli=/usr/local/mysql/bin/mysql_config --enable-mbstring --with-preetype-dir --with-jpeg-dir --with-zlib --with-libxml-dir=/usr --enable-xml --enable-sockets --enable-fpm --with-mcrypt --with-config-file-path=/etc --with-config-file=/etc/php.d --with-bz2

 此处与编译安装php作为httpd模块不同在于

--with-apxs2=/usr/local/apache/bin/apxs 参数,该参数的意义便在于将php编译为httpd的模块.此处是作为fastcgi模型.去掉该参数.

make &&make install


配置php-fpm服务

[root@localhost php-5.6.11]# pwd

/root/php-5.6.11

复制SysV服务脚本

cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm

chmod +x /etc/init.d/php-fpm

chkconfig --add php-fpm

复制php配置文件

cp php.ini-production /etc/php.ini

修改data目录路径

data =/data (注意data目录权限)

为php提供额外的配置文件

cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf

vi /etc/local/php/etc/php-fpm.conf


配置httpd服务支持fastcgi

启用如下两个模块

LoadModule proxy_module modules/mod_proxy.so

LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so

配置httpd支持php文件

AddType application/x-httpd-php .php

AddType application/x-httpd-php-source .phps

配置反向代理(中心主机)

ProxyRequests off

ProxyPassMatch ^/(.*\.php)$ fcgi://127.0.0.1:9000/usr/local/apache/htdocs


测试httpd-php-mysql连接

vi /usr/local/apache/htdocs/index.php

<html><body><h1>It works!</h1></body></html>

<?php

$conn=mysql_connect('localhost','root','passwd');

if (!$conn)

        echo "Could not connet...";

else

        echo "connectting,,,";

?>

<?php

phpinfo();

?>

<?php

phpinfo();

?>

在浏览器输入