PHP-FPM — менеджер процессов PHP FastCGI

PHP-FPM — это альтернативная реализация PHP FastCGI с несколькими дополнительными возможностями, которые обычно используются для высоконагруженных сайтов.

FastCGI, PHP и PHP-FPM

FastCGI это высокопроизводительный и масштабируемый интерфейс для взаимодействия web‑сервера и приложений, дальнейшее развитие технологии CGI. Основное преимущество FastCGI в изолировании динамического языка от web‑сервера — запуск FastCGI процесса возможен под пользователем, отличным от пользователя web‑сервера, а также процесс может находиться в chroot'е, отличном от chroot'а web‑сервера. Помимо всего прочего, эта технология позволяет запускать web‑сервера и CGI процессы (php скрипты, в случае php-fpm) на различных хостах, что улучшает масштабируемость и также способствует безопасности без существенной потери в производительности.

PHP «умеет» работать в режиме FastCGI и без PHP-FPM, но PHP-FPM устраняет ряд проблем мешающих использовать PHP в режиме FastCGI на высоконагруженных системах.

PHP-FPM — это:

  • продвинутое управление процессами с корректной процедурой остановки и запуска;
  • возможность запуска воркеров с различными окружением (uid, gid, chroot);
  • возможность запуска воркеров на различных портах с использованием разных конфигураций php.ini;
  • логирование стандартных потоков вывода (stdout) и ошибок (stderr);
  • аварийный перезапуск в случае внезапного разрушения opcode‑кэша;
  • поддержка ускоренной загрузки (accelerated upload);
  • логирование медленно выполняющихся скриптов (включая трассировки);
  • динамическое или статическое порождение дочерних процессов;
  • доступность базовой информации о статусе SAPI (аналогично Apache mod_status);
  • конфигурация php-fpm.conf основана на стандартном синтаксисе php.ini.

Использование PHP-FPM

Наиболее часто используется связка nginx и PHP-FPM, которая работает эффективнее «классического» использования Apache с mod_php, а в ряде случаев показывает более высокую производительность, нежели более «продвинутое» использование в качестве фронтенда веб‑сервера nginx, а в качестве бекенда — Apache с mod_php.

системное администрированиеPHP
Статья опубликована в 2014 году

Тематические статьи

Версии PHP

PHP существует с 1994 года и версий за это время было выпущено достаточно много. И, что важно знать, не все они обратно совместимы.

PHP
системное администрирование
Статья опубликована в 2014 году

Виртуальный выделенный сервер (VPS или VDS)

Для небольших проектов это оптимальный вариант по соотношению «цена / качество». Клиенту предоставляется виртуальная машина с гарантией выделения места на диске, оперативной памяти и процессорного времени сервера.

серверы
виртуализация
системное администрирование
хостинг
Статья опубликована в 2014 году

Выделенные сервера, кластеры и облачные решения

Серьёзные проекты требуют серьёзных хостинговых решений. Для средних проектов может хватить одного выделенного сервера, а для больших нагруженных сайтов нужны кластерные или облачные решения.

серверы
системное администрирование
облачные технологии
виртуализация
хостинг
Статья опубликована в 2014 году

Рекомендации по выбору хостинга

От правильности выбора хостинга зависит дальнейшая работоспособность сайта и его доступность, поэтому к этому вопросу надо отнестись достаточно серьёзно.

серверы
системное администрирование
хостинг
Статья опубликована в 2014 году

Серверное программное обеспечение

На серверах устанавливается программное обеспечение, которое требуется для работы сайта и других служб домена, для обслуживания и мониторинга, а также для защиты от взлома и устойчивости к нагрузкам.

системное администрирование
веб-серверы
СУБД
серверное ПО
хранение данных
Статья опубликована в 2014 году

Безопасность сайтов и веб‑приложений

Под безопасностью веб‑приложений понимается обеспечение сохранности данных, их недоступность для посторонних лиц, а также способность сервиса сохранять работоспособность при кибератаках.

Безопасность веб‑приложений зависит от качества программного кода (это ответственность веб‑разработчиков), от квалификации системного администратора и регулярности обсуживания серверов, а также от компетенций всех пользователей, имеющих доступ к чувствительной информации.

информационная безопасность
веб-разработка
системное администрирование
Статья опубликована в 2019 году

Отказоустойчивость сайтов и веб‑приложений

Причин для сбоев в работе веб‑приложений немало — это и выход из строя серверного оборудования, и сбои программного обеспечения, и аварии на уровне дата‑центров.

При этом, действительно серьёзные проекты должны работать без перебоев даже в случае отказа отдельных подсистем. Практически всех рисков можно избежать или минимизировать их последствия при помощи грамотного проектирования как серверной инфраструктуры, так и архитектуры приложения.

отказоустойчивость
бэкенд
веб-разработка
серверы
системное администрирование
Статья опубликована в 2019 году

Сколько стоит поддержка сайта?

Стоимость поддержки сайта зависит от объёма необходимых работ, их вида и сложности.

системное администрирование
экономика
Статья опубликована в 2014 году

Ускоряем работу сайта, используя быстрый и надёжный веб‑сервер nginx

nginx — это простой, быстрый и надёжный сервер. Применение nginx очень эффективно для отдачи статического контента и в качестве прокси‑сервера перед динамическими сайтами.

быстродействие
системное администрирование
веб-серверы
серверное ПО
Статья опубликована в 2014 году