Фальстарт

Пускач для FastCGI

Пускач [puskach] — это лёгкий сервер FastCGI-приложений с открытым исходным кодом, работающий на платформе UNIX (лицензия). Он поддерживается всеми web-серверами, реализующими интерфейс FastCGI, протестирована совместная работа с Nginx и Lighttpd. Основная функциональность:

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

Интерфейс FastCGI

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

FastCGI-приложения можно писать на любом языке, для самых распространенных языков (C/C++, Perl, PHP, Java и др.) есть библиотеки, существенно упрощающие процесс. Переделка уже готового CGI-скрипта, написанного, например, на Perl, занимает не более 10 минут.

Аналоги

Характеристика / возможность Пускач PHP-FPM spawn-fcgi
Поддерживаемые языки Все PHP Все
Автоматическое управление числом рабочих процессов в зависимости от нагрузки Да Частично Нет
Поддержка таймаутов: обработки запроса, операций В/В Да Частично Нет
Специфичная настройка пула рабочих процессов для отдельного скрипта Да Нет Нет
Логгирование STDERR скрипта Да Да Нет
Настройки смены пользователя для рабочих процессов, chroot, настроек среды Да Глобально Глобально
Корректная обработка запроса, если число одновременно пришедших запросов превышает размер пула обработчиков Да Да Да