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