目录

1.SetHandler
2.ProxyPassMatch
3.ProxyPass

1.SetHandler

在apache配置文件只部署一次

需要Apache 2.4.9以上才行

ip:port配置

php-fpm配置

listen = 127.0.0.1:9000

httpd配置

<FilesMatch .php$>

setHandler "proxy:fcgi://127.0.0.1:9000"

UDS配置

php-fpm配置

listen = /var/run/php-fpm/php-fpm.sock

httpd配置

<FilesMatch .php$>

SetHandler:unix:///var/run/php-fpm/php-fpm.sock|fcgi://php-fpm

SetHandler "proxy:unix:/var/run/php-fpm/php-fpm.sock|fcgi://localhost" # Apache 2.4.10设置

2.ProxyPassMatch

需要在每个 “VirtualHost” 里面加入

ip:port配置

<VirtualHost :80>

ProxyPassMatch ^/(.
.php(/.*)?)$ fcgi://127.0.0.1:9000/path/to/your/documentroot/$1

DirectoryIndex /index.php

ProxyPassMatch
只有满足特定正则模式的内容才会匹配并执行此规则,这里的模式是,
^/(..php(/.)?)$
从网站(虚拟主机 的根目录开始,匹配任何以 .php 结尾,或者在 .php 之后紧跟一个 / 再跟别的内容的路径。
^ (caret) 和 $ (dollar)
标志要匹配的路径的开始和结束
( )
括号里的内容可以用 $1 来表示,以方便后面引用它。
fcgi://127.0.0.1:9000
通过 mod_proxy_fcgi 来转发的代理,使用 fastCGI 协议,转到 PHP-FPM 监听的端口。
改变 IP 地址和/或端口号就可以要转到的不同的 pool。用这个可以实现服务器分流、均衡等。
/path/to/your/documentroot/
非常重要!必须与虚拟主机的路径匹配,且必须是对应 php 文件在操作系统中的绝对路径。否则会找不到文件(PHP Script File)。这也是 URL 地址重写的目的所在:将 URL 地址转换成 fcgi://127.0.0.1:9000 后面紧跟着的 php 文件绝对路径。
可以从原始请求扩展成整个请求路径的变量,这里指代前面外围 ( ) 里面匹配的那个路径(uri)

我本机docker容器 httpd 和 php-fpm配置

我的php-fpm在138.38.38.110 上,配置将有所不同

<VirtualHost :80>

ServerAdmin shenyi@com.cn

DocumentRoot "/usr/local/apache2/htdocs"

ServerName localhost

<Directory "/usr/local/apache2/htdocs">

Options None

Require all granted



ProxyRequests Off

ProxyPassMatch ^/(.
.php)$ fcgi://138.38.38.110:9000/var/www/htm/$1

关于docker-compose 安装配置,看我docker compose 安装配置nginx 反向代理 httpd php-fpm

3.ProxyPass

跟ProxyPassMatch 类似 ,需要在每个 VirtualHost 中分别设置

<LocationMatch ^(.*.php)$>

ProxyPass fcgi://127.0.0.1:9000/path/to/webroot/

ProxyErrorOverride on

最后感谢 http://cnzhx.net/blog/apache-httpd-mod_proxy_fcgi-php-fpm/#listen

来源http://www.taoluyuan.com/index.php/archives/37/#http://www.taoluyuan.com/index.php/archives/37/

apache 与 php-fpm 几种处理方式的更多相关文章

  1. apache+tomcat负载均衡3种实现方式

    1.首先安装apache,编译完成后,通过IP:端口就行访问,如果返回“it workers”证明Apache启动成功(注意apache的工程路径要正确) 2.下载JK,下载地址为http://mir ...

  2. Apache下PHP的几种工作方式

    PHP在Apache中一共有三种工作方式:CGI模式.Apache模块DLL.FastCGI模式. 一.CGI模式 PHP 在 Apache 2中的 CGI模式.编辑Apache 配置文件httpd. ...

  3. 【转】Apache 配置虚拟主机三种方式

    Apache 配置虚拟主机三种方式  原文博客http://www.cnblogs.com/hi-bazinga/archive/2012/04/23/2466605.html 一.基于IP 1. 假 ...

  4. Apache Spark探秘:三种分布式部署方式比较

    转自:链接地址: http://dongxicheng.org/framework-on-yarn/apache-spark-comparing-three-deploying-ways/     目 ...

  5. [转]Apache HTTP Server 与 Tomcat 的三种连接方式介绍

    首先我们先介绍一下为什么要让 Apache 与 Tomcat 之间进行连接.事实上 Tomcat 本身已经提供了 HTTP 服务,该服务默认的端口是 8080,装好 tomcat 后通过 8080 端 ...

  6. apache基础,apache环境搭建,apache的3种使用方式(IP、端口、域名)

    一台服务器上多个网站同时运行,基于域名访问,IP访问,端口访问. http服务使用的端口是80 HTTPS使用的是443 协议名称://机器地址:端口号/路径名/文件名 协议名称—— 所使用的访问协议 ...

  7. linux下的apache服务自启动的几种方式

    1,如果是安装包安装在Linux系统下,那么可以使用 [root@localhost ~]# service httpd restart 从而可以开启或者重启apache服务 与此同时,它的标准方式是 ...

  8. Hive metastore三种配置方式

    http://blog.csdn.net/reesun/article/details/8556078 Hive的meta数据支持以下三种存储方式,其中两种属于本地存储,一种为远端存储.远端存储比较适 ...

  9. Hive的三种安装方式(内嵌模式,本地模式远程模式)

    一.安装模式介绍:     Hive官网上介绍了Hive的3种安装方式,分别对应不同的应用场景.     1.内嵌模式(元数据保村在内嵌的derby种,允许一个会话链接,尝试多个会话链接时会报错)   ...

  10. solrCloud的两种部署方式

    solrcloud 的部署其实有两种方式可选,那么我们在实践开发中应该怎样选择呢? 第一种:当启动solr服务器时,内嵌的启动一个Zookeeper服务器,然后将这些内嵌的Zookeeper服务器组成 ...

随机推荐

  1. Kali密码攻击之——离线攻击工具

    在线密码攻击在渗透测试中很重要,但对于测试过程中得到的哈希,加密数据,又需要离线破解工具辅助解决 Creddump套件 kali下离线攻击工具中的Cache-dump,lsadump,pwdump,均 ...

  2. Mysql报错:Packet for query is too large (1121604 > 1048576).You can change this value on the server by setting the max_allowed_packet variable

    看错误信息,发现1048576个字节,正好是1*1024*1024byte,也就是1Mb. 这正是mysql默认的max_allowed_packet值. 使用sql语句: show VARIABLE ...

  3. MySQL数据的导出和导入

    MySQL环境变量设置,将%MySQL_HOME%下的MySQL Server 5.1/bin放到Path下. MySQL的mysqldump工具,基本用法是:   shell> mysqldu ...

  4. 正则表达式中test,match,exec区别

    testtest 返回 Boolean,查找对应的字符串中是否存在模式.var str = "1a1b1c";var reg = new RegExp("1." ...

  5. 像素与DPI之间的关系

    先说像素.像素是电子图像组成的基本单位,将图像放大数倍,会发现图像是由一个个“小色块”紧密排列组成的,每一个“小色块”就是一个像素点. 也就是说,每个图像都是由n多个像素点组成. 再说分辨率.所谓分辨 ...

  6. jQuery 位置

    jQuery 位置 // 默认窗口 $(window) // 查看.指定标签上下滚轮的位置数 $('#id').scrollTop() // 设置.指定标签上下滚轮的位置数 $('#id').scro ...

  7. jmeter基本使用

    下载安装,推荐官网http://jmeter.apache.org/download_jmeter.cgi 安装步骤不做赘述,可以看这篇博文https://blog.csdn.net/u0103401 ...

  8. python学习笔记:*args和**kwargs使用原理?

    一.*args和**kwargs原理 先看个例子: def test(*args,**kwargs): print("args =",args) print("kwarg ...

  9. express中session的使用

    一.Session 简单介绍 session 是另一种记录客户状态的机制,不同的是 Cookie 保存在客户端浏览器中,而 session 保存在服务器上.Session 的用途:session 运行 ...

  10. linux基础之awk

    gawk - pattern scanning and processing language 基本用法: gawk [options] 'program' FILE... program: PATT ...