Назад | Перейти на главную страницу

Apache 2.4 + PHP-FPM + mod_fastcgi (Проблемы с настройкой PHP-FPM)

Я пытался заставить PHP-FPM работать с Apache 2.4, но mod_fastcgi не работает с 2.4. Есть ли решение этой проблемы? Я хочу запустить его, используя сокет UNIX, но я не могу найти никакого руководства по этому поводу, все они используют 127.0.0.1:9000

Есть патч для mod_fastcgi, который компилируется против Apache 2.4: ByteInternet / libapache-mod-fastcgi (В настоящее время тег байт / 2.4.6-1байт6 + apache24 и филиал байт включить этот патч.)

Прежде чем компилировать модуль с apxs примените следующий патч:

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

Затем скомпилируйте / установите / активируйте:

apxs -ciao mod_fastcgi.so *.c

Я установил Apache 2.2 с mod_fastcgi, и он работает с сокетами 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 и не управлять самими процессами.