• apache 与 php-fpm 几种处理方式


    目录

    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/

  • 相关阅读:
    DotnetBrowser入门教程-(2)启动简单的Web服务
    DotnetBrowser入门教程-(1)浏览器控件使用
    Delphi初始化与结束化
    用友二次开发之用友备份专家[1.01]
    用友账套恢复工具
    用友二次开发之总账自定义结转
    用友二次开发之登陆界面
    用友二次开发之U810.1销售预订单导入
    表格控件表头栏目(Column)与数据表头步
    Delphi开发的IP地址修改工具
  • 原文地址:https://www.cnblogs.com/feng-land/p/10062389.html
Copyright © 2020-2023  润新知