AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 1006330
Accepted
Google_Dogs
Google_Dogs
Asked: 2020-03-11 02:55:57 +0800 CST2020-03-11 02:55:57 +0800 CST 2020-03-11 02:55:57 +0800 CST

在 centos 6 上配置 php-fpm mod 代理的问题

  • 772

我在 Centos 6 发行版上配置 PHP_FPM。我正在使用 php 5.4.45 和 apache 2.2.15 以及“mod_proxy.so”来调用套接字。但是使用以下 Vhost 和 php-fpm 配置,我的站点日志中仍然存在相同的两个问题:

[Tue Mar 10 11:36:49 2020] [error] (111)Connection refused: proxy: FCGI: attempt to connect to 127.0.0.1:0 (*) failed
[Tue Mar 10 11:36:49 2020] [error] [client 192.168.1.38] AH01079: failed to make connection to backend: localhost

我已经尝试并阅读了大量的解决方案,但没有一个对我有这么大的帮助。这里是我的 Vhost 和 php-fpm www.conf 文件的配置:

<VirtualHost _default_:80>
   DocumentRoot "/var/www/html"

   <Directory "/var/www/html">
           Order allow,deny
            Allow from all
           AllowOverride All
   </Directory>

   ErrorLog logs/default-error_log
   LogLevel warn
   TransferLog logs/default-access_log
   CustomLog logs/default-request_log "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"

    ProxyPassMatch ^/(.*\.php)$ fcgi://localhost/var/www/html/$1
    DirectoryIndex index.php info.php

    <FilesMatch \.php$>
           SetHandler "proxy:unix:/var/run/php-fpm/default.sock|fcgi://localhost/"
    </FilesMatch>

listen = /var/run/php-fpm/default.sock
listen.owner = apache
listen.group = apache
listen.mode = 0660
user = apache
group = apache
listen.allowed_clients = 127.0.0.1
php_value[opcache.file_cache] = /var/lib/php/opcache

谢谢你的关注。此致

apache-2.2 php5 php-fpm mod-proxy centos6
  • 1 1 个回答
  • 339 Views

1 个回答

  • Voted
  1. Best Answer
    Piotr P. Karwasz
    2020-03-11T14:08:01+08:002020-03-11T14:08:01+08:00

    Apache 2.2 本身没有mod_proxy_fcgi(参见这个问题),您必须从其他来源获得它。此外,使用mod_proxy该SetHandler指令适用于 2.4.10 版本。所以:

    1. 你的<FilesMatch>块没有效果,所以你可以删除它,
    2. 只有您的ProxyPassMatch指令有效。但是您的版本mod_proxy_fcgi不支持 Unix 域套接字,因此您需要使用套接字连接到PHP-FPMTCP/IP。为此,请修改www.conf文件并将listen指令替换为:

      listen 127.0.0.1:9000
      

      并重新启动PHP-FPM。在 Apache 2 端,将ProxyPassMatch指令替换为:

      ProxyPassMatch ^/(.*\.php)$ fcgi://127.0.0.1:9000/var/www/html/$1
      

      并重新加载Apache2。

    • 0

相关问题

  • Apache Django Mod_Wsgi - 自动重新加载应用程序

  • Apache:对多个虚拟主机使用相同的目录指令

  • Apache 上的子域不工作 - 找不到服务器

  • PHP 作为 CGI 还是 Apache 模块?

  • 避免将某些丢失的文件记录到 Apache2 错误日志中

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve