Центр Диагностики & База Системных Ошибок

Решения для Windows Server, Active Directory, 1С, СУБД, Linux, Cisco, MikroTik и IP-телефонии.

⚠️ Важная информация Все материалы, инструкции, команды и скрипты предоставлены исключительно в ознакомительных целях. Их применение может повлиять на работу операционной системы, баз данных и сетевого оборудования. Перед выполнением действий обязательно создайте резервную копию. При отсутствии необходимой квалификации обратитесь к ИТ-специалистам.
Apache Error: AH01079: failed to make connection to backend: /var/run/php-fpm.sock Linux / DevOps

Apache Error AH01079: failed connection to php-fpm.sock — Решение

Обновлено: 18.08.2026  ·  Официальная база знаний

При попытке открыть любой PHP-сайт Apache возвращает клиенту ошибку 503 Service Unavailable. В системном журнале error.log регистрируется отказ подключения к локальному сокету: [proxy_fcgi:error] [pid 1234:tid 5678] (2)No such file or directory: AH01079: failed to make connection to backend: unix:/var/run/php/php8.2-fpm.sock или (13)Permission denied: AH01079: failed to make connection to backend.

Код ошибки ядраСмыслПричина отказа
(2) No such file or directoryФайл сокета не найденСлужба PHP-FPM выключена или путь к .sock файлу указан неверно
(13) Permission deniedДоступ запрещенУ пользователя www-data / apache нет прав на чтение/запись в сокет
(11) Resource temporarily unavailableОчередь сокета переполненаПул PHP-FPM исчерпал воркеры (pm.max_children)
  • Apache не может передать клиентский запрос на исполнение интерпретатору PHP.
  • Веб-страница моментально падает с ошибкой 503.
  1. Проверьте статус и физическое наличие UNIX-сокета PHP-FPM в системе:
    # Проверяем работу службы PHP-FPM:
    sudo systemctl status php*-fpm
    
    # Ищем реальное расположение файла сокета:
    ls -la /run/php/ /var/run/ | grep fpm
  2. Если служба выключена, запустите ее и добавьте в автозагрузку:
    sudo systemctl enable --now php8.2-fpm # укажите вашу версию PHP
  3. Проверьте права доступа и владельца сокета в конфигурации пула PHP-FPM (/etc/php/8.2/fpm/pool.d/www.conf):
    listen = /run/php/php8.2-fpm.sock
    listen.owner = www-data
    listen.group = www-data
    listen.mode = 0660
  4. Убедитесь, что в конфигурации виртуального хоста Apache указан абсолютно точный путь к существующему файлу сокета:
    <FilesMatch \.php$>
        SetHandler "proxy:unix:/run/php/php8.2-fpm.sock|fcgi://localhost"
    </FilesMatch>
  5. Если на сервере включен SELinux (RHEL/CentOS), разрешите веб-серверу работать с сокетами приложений:
    sudo setsebool -P httpd_can_network_connect 1
    sudo setsebool -P httpd_execmem 1
  6. Перезапустите стек сервисов:
    sudo systemctl restart php8.2-fpm
    sudo systemctl restart apache2
Внимание к путям сокетов: В Debian/Ubuntu сокеты PHP-FPM стандартно располагаются в каталоге /run/php/phpX.Y-fpm.sock, тогда как в RHEL/CentOS/AlmaLinux сокет обычно находится в /run/php-fpm/www.sock. Всегда сверяйте путь с директивой listen в www.conf.
Практический опыт инженера: После мажорного обновления PHP (например, с 8.1 на 8.2) старый сокет `/run/php/php8.1-fpm.sock` удаляется. Не забывайте обновлять пути в файлах виртуальных хостов Apache.

Частые вопросы (FAQ)

Почему UNIX-сокет предпочтительнее TCP-порта (127.0.0.1:9000)?

UNIX domain sockets работают напрямую через оперативную память ядра без оверхеда сетевого стека TCP/IP, обеспечивая более низкую задержку (latency) и повышенную пропускную способность.

Что делать, если сокет самопроизвольно удаляется?

Каталог /run/ смонтирован в tmpfs (RAM) и очищается при перезагрузке. Создание каталога /run/php/ должно управляться демоном PHP-FPM или через systemd-tmpfiles (файл /etc/tmpfiles.d/php.conf).

Как проверить права на сокет от имени пользователя веб-сервера?

Выполните проверку прав: sudo -u www-data test -w /run/php/php8.2-fpm.sock && echo 'Write OK' || echo 'Permission Denied'.

Что означает ошибка (11) Resource temporarily unavailable на сокете?

Она означает, что очередь соединений (backlog) сокета PHP-FPM переполнена, так как все доступные воркеры заняты обработкой других запросов. Необходимо увеличить pm.max_children.