在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

在apache将php编译成fpm,与apache进行通信_第1张图片

因为现在是编译成fpm所以--with-apxs2=/usr/local/apache/bin/apxs这项改成--enable-fpm

make -j 8 && make install -j 8表示启动8个线程

在apache将php编译成fpm,与apache进行通信_第2张图片

为php指定配置文件

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

制作启动脚本:

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

vim /etc/init.d/fpm将Php根目录跟在prefix变量后面

在apache将php编译成fpm,与apache进行通信_第3张图片

将php根目录下的etc目录中的php-fpm.conf.default改成php-fpm.conf

编辑php-fpm.conf改一些参数:

vim php-fpm.conf

在apache将php编译成fpm,与apache进行通信_第4张图片

下面改apache配置文件:

vim /etc/httpd/httpd.conf

在apache将php编译成fpm,与apache进行通信_第5张图片

将这两个模块前的#号去掉

同理跟编译成apxs一样加上这两项

在apache将php编译成fpm,与apache进行通信_第6张图片

加入index.php以apache支持php文件

在apache将php编译成fpm,与apache进行通信_第7张图片

最后加入这两项,

在apache将php编译成fpm,与apache进行通信_第8张图片

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

$conn=mysql_connect('127.0.0.1','root','');
if($conn)
        echo "ok";
        else
        echo "not ok";
phpinfo();
?>

出现如下图片,搭建成功

在apache将php编译成fpm,与apache进行通信_第9张图片

你可能感兴趣的:(php,linux运维)