httpd2.4版本的编译安装,不再赘述,查看上一篇:http://www.cnblogs.com/jsonhc/p/7134053.html

从官网下载php源码包:php-5.6.30.tar.bz2

1、安装必要的依赖包

yum install -y libxml2 libxml2-devel bzip2-devel libjpeg-devel  libpng-devel freetype-devel
安装:libmcrypt

tar xf libmcrypt-2.5.7.tar.gz
cd libmcrypt-2.5.7
./configure
make && make install
2、解压缩并编译执行
tar xf php-5.6.30.tar.bz2
cd php-5.6.30
./configure --prefix=/usr/local/php --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-mcrypt --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 --with-gd
make && make install
3、添加配置文件,启动脚本
#cp php.ini-production /etc/php.ini
#cp sapi/fpm/init.d.php-fpm /etc/rc.d/init.d/php-fpm
#chmod +x /etc/rc.d/init.d/php-fpm
#chkconfig --add php-fpm
#chkconfig --list php-fpm
为php-fpm提供配置文件:
#cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
并修改其中几个值:
pm.max_children = 50
pm.start_servers = 5
pm.min_spare_servers = 2
pm.max_spare_servers = 8

[root@wadeson php-5.6.30]# service php-fpm start
Starting php-fpm done

[root@wadeson ~]# netstat -tunlp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 5104/sshd
tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN 27281/php-fpm

4、修改httpd配置文件以支持php

######load modules####             启用这两个模块
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so

######添加php:

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

####修改DirectoryIndex:

DirectoryIndex index.html index.php

####然后在虚拟主机中配置用fcgi来处理php文件

######config fpm####
ProxyRequests Off
ProxyPassMatch ^/(.*\.php)$ fcgi://127.0.0.1:9000/usr/local/apache2.4/www/$1

ProxyPassMatch ^/(.*\.php)$ fcgi://IP:9000/PATH/TO/DOCUMENT_ROOT/$1   #把以.php结尾的文件请求发送到php-fpm进程,php-fpm至少需要知道运行的目录和URI。注意:这里的 DOCUMENT_ROOT 只是php文件的存放路径,可以不是httpd的站点根目录。实际环境中,php-fpm与httpd多位于不同的主机上,动态资源部署在php-fpm服务器上。
 
由于httpd编译安装的目录在/usr/local/apache2.4下面,默认的网站根目录为htdocs
现在检验是否成功:

[root@wadeson apache2.4]# cd htdocs/
[root@wadeson htdocs]# ll
total 4
-rw-r--r--. 1 root root 10 Jul 11 14:35 index.html
[root@wadeson htdocs]# cat index.html
test page

访问截图:

刚刚在配置文件配置的是动态目录为:ProxyPassMatch ^/(.*\.php)$ fcgi://127.0.0.1:9000/usr/local/apache2.4/www/$1

[root@wadeson apache2.4]# cd www/
[root@wadeson www]# ll
total 4
-rw-r--r--. 1 root root 154 Jul 11 14:34 index.php
[root@wadeson www]# cat index.php
<?php
$conn=mysql_connect('127.0.0.1','root','redhat');
if ($conn)
echo "successful";
else
echo "failure";
mysql_close();
phpinfo();
?>

然后访问截图:

所以静态存放的网站文件与动态存放的php文件没有直接的联系,可以随便安放,当然放在一起也是可以的

添加xcache加速:

#tar xf xcache-3.2.0.tar.gz

#cd xcache-3.2.0

#/usr/local/php/bin/phpize

#./configure --enable-xcache --with-php-config=/usr/local/php/bin/php-config

#make && make install

#mkdir /etc/php.d

#cp xcache.ini /etc/php.d/

#vim /etc/php.d/xcache.ini

extension = /usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/xcache.so

然后访问查看:(重载一下服务)

httpd结合php的fpm模式的更多相关文章

  1. CentOS6编译LAMP基于FPM模式的应用wordpress

    CentOS6编译LAMP基于FPM模式的应用wordpress 引言:其实我们可以直接使用yum安装LAMP(Linux+Apache[httpd]+Mysql+PHP),比手动编译安装LAMP要简 ...

  2. 在centos6上实现LAMP的FPM模式

    原理 http使用一次编译法编译安装,php独立服务fpm实现. 软件版本 在本次实验中,我们需要用到的软件版本如下: apr-1.6.2 apr-util-1.6.0 httpd-2.4.28 ma ...

  3. 2、Apache(httpd)之一 三种工作模式

    httpd的特性: 高度模块化:core + modules 模块化设计DSO:Dynamic Shared Object MPM:Multipath Processing Modules 多路处理模 ...

  4. 用fpm模式在虚拟主机上安装phpmyadmin

    实验环境:CentOS7 1.配置虚拟主机 [root@conf.d localhost]#vi /etc/httpd/conf.d/vhost.conf #配置在/etc/httpd/conf.d下 ...

  5. httpd的三种模式比较

    查看你的httpd使用了哪种模式: /usr/local/apache2/bin/httpd -V |grep 'Server MPM' 使用哪种模式,需要在编译的时候指定 --with-mpm=pr ...

  6. Httpd服务进阶知识-基于FASTCGI实现的LAMP架构

    Httpd服务进阶知识-基于FASTCGI实现的LAMP架构 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.httpd+php结合的方式 module: php fastcgi ...

  7. FastCGI模式编译安装LAMP+Xcache

    PHP的工作模式:php在lamp环境下共有三种工作模式:CGI模式.apache模块.FastCGI模式.CGI模式下运行PHP,性能不是很好.(已淘汰)FastCGI的方式和apache模块的不同 ...

  8. 利用httpd对tomcat进行负载均衡配置

    实验系统:CentOS 6.6_x86_64 实验前提:提前准备好编译环境,防火墙和selinux都关闭 实验说明:本实验共有2台主机,IP分配如拓扑 实验软件:jdk-8u60-linux-x64 ...

  9. 转:浅谈UNIX下Apache的MPM及httpd.conf配置文件中相关参数配置

    为什么要并发处理 以Apache为代表的web服务器中,如果不支持并发,则在一个客户端连接的时候,如果该客户端的任务没有处理完,其他连接的客户端将会一直处于等待状态,这事不可想象的,好像没有为什么要不 ...

随机推荐

  1. VUE学习总结

    VUE学习总结 文档:https://cn.vuejs.org/v2/guide/ Webstorm的一些常用快捷键:1. ctrl + shift + n: 打开工程中的文件,目的是打开当前工程下任 ...

  2. 基于Consul+Upsync+Nginx实现动态负载均衡

    基于Consul+Upsync+Nginx实现动态负载均衡 1.Consul环境搭建 下载consul_0.7.5_linux_amd64.zip到/usr/local/src目录 cd /usr/l ...

  3. js 匿名函数-立即调用的函数表达式

    先提个问题, 单独写匿名函数为什么报错?return 匿名函数 为什么不报错? 如图: 第二种情况在 f 还没有执行的时候,就报错了,,,当然这得归因于函数声明语句声明提前(发生在代码执行之前)的原因 ...

  4. 面试之三:JVM类加载机制-类加载各阶段说明和类加载器

    一.类生命周期:共7个阶段 类从被加载到虚拟机内存中开始,到卸载出内存.整个生命周期包括:加载.验证.准备.解析.初始化.使用和卸载7个阶段. 其中验证.准备.解析3个部分统称为连接. 类加载的过程: ...

  5. VMware虚拟机下安装CentOS7.0超详细图文教程

    1.本文说明: 官方的第一个文本档案.也就是0_README.txt,大概意思是这样(渣翻译,但是大概意思还是有的). CentOS-7.0-1406-x86_64-DVD.iso:这个镜像(DVD ...

  6. Cgroups子系统介绍

    blkio -- 这个子系统为块设备设定输入/输出限制,比如物理设备(磁盘,固态硬盘,USB 等等). cpu -- 这个子系统使用调度程序提供对 CPU 的 cgroup 任务访问. cpuacct ...

  7. new Date()的浏览器兼容性问题

    在页面中,我们使用了一个时间上的组件来开发时间选择框,在Chrome下是可以正常运行的,但是发现在IE下是无法正常工作的. 问题出在哪里呢? js从时间获取的时间字符串如果是"-" ...

  8. datasnap rest Windows客户端编写

    首先吐槽一下XE关于datasnap的资料真的是太少了... 服务端用DSHTTPService1控件可以实现http接口方式的调用,返回的都是json格式数据,适用于跨平台解析. 这里着重强调一下d ...

  9. 修改计算机名后SQLServer无法使用windows账号登录

    USE master     GO    EXEC sp_configure'allow updates',1 RECONFIGURE WITH OVERRIDE   -- 设置两个变量    DEC ...

  10. xiaochengxubeijingt