[apache] fastcgi + php-fpm

1) Установка необходимых пакетов

# apt-get install libapache2-mod-fastcgi php5-fpm

2) Настройка php.

В настройках php-fpm.conf указываем сокет:

listen = 127.0.0.1:9000

Перезапускам php.

Создаем файл 030_php-fpm.conf такого содержания и ложим его в /etc/apache2/mods-enabled:

<IfModule proxy_fcgi_module>
    <IfModule dir_module>
        DirectoryIndex index.php
    </IfModule>
    <FilesMatch "\.php$">
        SetHandler "proxy:fcgi://127.0.0.1:9000"
    </FilesMatch>
    ProxyTimeout 1200
</IfModule>

3) Режим работы apache.

Обязательно включаем режим mpm_event, что бы сделать его многотредовым.

# a2enmod mpm_event

Включаем модули для работы fastcgi:

# a2enmod proxy
# a2enmod proxy_http

Выключаем mpm_prefork (он конфликтует с mpm_event) и php5 (mod_php)

# a2dismod mpm_prefork
# a2dismod php5

Проверяем работу:

# apache2ctl restart
# apache2ctl -V
Server version: Apache/2.4.23 (Ubuntu)
Server built: 2016-07-11T00:00:00
Server's Module Magic Number: 20120211:61
Server loaded: APR 1.5.1-dev, APR-UTIL 1.5.3
Compiled using: APR 1.5.2, APR-UTIL 1.5.4
Architecture: 64-bit
Server MPM: event
threaded: yes (fixed thread count)
forked: yes (variable process count)
Server compiled with....
-D APR_HAS_SENDFILE
-D APR_HAS_MMAP
-D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
-D APR_USE_SYSVSEM_SERIALIZE
-D APR_USE_PTHREAD_SERIALIZE
-D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
-D APR_HAS_OTHER_CHILD
-D AP_HAVE_RELIABLE_PIPED_LOGS
-D DYNAMIC_MODULE_LIMIT=256
-D HTTPD_ROOT="/etc/apache2"
-D SUEXEC_BIN="/usr/lib/apache2/suexec"
-D DEFAULT_PIDLOG="/var/run/apache2.pid"
-D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
-D DEFAULT_ERRORLOG="logs/error_log"
-D AP_TYPES_CONFIG_FILE="mime.types"
-D SERVER_CONFIG_FILE="apache2.conf"

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *


*