在apache将php编译成fpm,与apache进行通信
在前面的博客已经将php编译成apxs模块;
现在将php编译成fpm来与apache进行通信
环境在前面已经搭建过,在这里不在累述;
cd php-5.5.30
./configure --prefix=/usr/local/php --with-mysql=/usr/mysql/ --with-openssl --with-mysqli=/usr/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-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d --with-bz2 --enable-maintainer-zts
因为现在是编译成fpm所以--with-apxs2=/usr/local/apache/bin/apxs这项改成--enable-fpm
make -j 8 && make install -j 8表示启动8个线程
为php指定配置文件
cp php.ini-production /etc/php.ini
制作启动脚本:
cp init.d.php-fpm /etc/init.d/fpm
vim /etc/init.d/fpm将Php根目录跟在prefix变量后面
将php根目录下的etc目录中的php-fpm.conf.default改成php-fpm.conf
编辑php-fpm.conf改一些参数:
vim php-fpm.conf
下面改apache配置文件:
vim /etc/httpd/httpd.conf
将这两个模块前的#号去掉
同理跟编译成apxs一样加上这两项
加入index.php以apache支持php文件
最后加入这两项,
ProxyRequests Off表示关闭正向代理
ProxyPassMatch ^/(.*\.php)$ fcgi://127.0.0.1:9000/usr/apache/htdocs/$1把以.php结尾的文件请求发送到php-fpm进程,php-fpm至少需要知道运行的目录和URI,所以这里直接在fcgi://127.0.0.1:9000后指明了这两个参数,其他的参数的传递已经被mod_proxy_fcgi.so就行了封装,不需要手动指定
最后在/usr/local/apache/htdocs/下编辑index.php
<?php
$conn=mysql_connect('127.0.0.1','root','');
if($conn)
echo "ok";
else
echo "not ok";
phpinfo();
?>
出现如下图片,搭建成功