Очень популярный выбор для работы веб-приложений Perl в наши дни, по-видимому, находится за прокси-серверами nginx для прокси-сервера либо для FastCGI-демона, либо для веб-сервера с поддержкой PSGI (например, Starman).
Было много вопросов относительно того, почему это можно сделать вообще (например, Зачем использовать nginx с Catalyst/Plack/Starman?) и ответы кажутся применимыми в обоих случаях (например, разрешить nginx обслуживать статический контент, простой перезапуск сервера приложений, балансировку нагрузки и т.д.).
Однако меня особенно интересуют плюсы и минусы использования FastCGI и обратного прокси-подхода. Похоже, что Starman широко считается самым быстрым и лучшим приложением Perl PSGI/веб-сервером, и я изо всех сил стараюсь увидеть все преимущества использования FastCGI. Оба подхода, похоже, поддерживают:
- Сокеты домена UNIX, а также сокеты TCP
- серверы стиля fork/process manager, а также неблокирующие серверы на основе событий (например, AnyEvent).
- Обработка сигналов/изящный перезапуск.
- PSGI
Аналогично, конфигурация nginx для любой опции очень похожа.
Итак, почему вы выбрали один из них?