Apache 2.4 + PHP-FPM + mod_fastcgi(设置 PHP-FPM 时出现问题)

Apache 2.4 + PHP-FPM + mod_fastcgi(设置 PHP-FPM 时出现问题)

我一直在尝试让 PHP-FPM 与 Apache 2.4 配合使用,但 mod_fastcgi 无法与 2.4 配合使用。有没有什么办法可以解决这个问题?我想使用 UNIX 套接字来运行它,但我找不到任何这方面的教程,它们都使用 127.0.0.1:9000

答案1

我安装了带有 mod_fastcgi 的 Apache 2.2,它使用 UNIX 套接字工作。

我的 httpd.conf 中的配置片段是:

<IfDefine FASTCGI>
    <IfModule mod_fastcgi.c>
        Alias                   /php5.fastcgi /var/www/example.com/cgi-bin/php5.fastcgi
        FastCGIExternalServer   /var/www/example.com/cgi-bin/php5.fastcgi -flush -socket /var/www/example.com/php-fpm.sock -idle-timeout 30
        AddType                 application/x-httpd-fastphp5    .php
        Action                  application/x-httpd-fastphp5    /php5.fastcgi

        DirectoryIndex index.php index.html
    </IfModule>
</IfDefine>

PHP-FPM 正在监听套接字 /var/www/example.com/php-fpm.sock。

PHP-FPM的配置(池内):

listen          = /var/www/$pool/php-fpm.sock
listen.owner    = apache
listen.group    = apache
listen.mode     = 0660

我没有成功使用 mod_fcgi。Apache 2.4 现在有 mod_proxy_fcgi,但我没有测试过。您需要一些可以与外部 FastCGI 服务器配合使用并且不管理进程本身的东西。

答案2

有一个针对 Apache 2.4 进行编译的 mod_fastcgi 补丁:ByteInternet / libapache-mod-fastcgi (目前,标签字节/2.4.6-1byte6+apache24和分支字节包括此补丁。)

在编译模块之前,请apxs应用以下补丁:

patch --input=debian/patches/byte-compile-against-apache24.diff

然后编译/安装/激活:

apxs -ciao mod_fastcgi.so *.c

相关内容