环境:
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();
?>
在浏览器输入http://HOST/index.php,成功应输出如下内容: