> Вообще segfault - это уже само по себе плохо.Именно. Но в случае динамики у Вас оно может быть достаточно легко, потому что объём выполняемого кода достаточно велик. Это не проксирование/статика.
> Потом, у nginx можно задать несколько процессов-обработчиков.
> И потом, nginx общается с динамикой не внутри своего процесса, а через
> fcgi/wsgi/proxy/...
И всё это печально одним... нет, даже двумя моментами.
а) Apache - очень хороший менеджер процессов, куда лучше, чем во многих имплементациях FCGI. В частности PHP как FCGI лучше даже не рассматривать.
б) Если у Вас падает воркер или FCGI - всё становится невесело. Потому, что обрываются ВСЕ запросы, связанные с данным воркером/FCGI-процессом. А не один упавший. В случае FCGI еще и рестартер держать придётся.
У Apache в данном случае еще одно преимущество - корневой процесс минималистичный, вылизывался годами сотнями людей, и шанс его падения близок к 0. Поэтому доверия к нему куда больше, чем к nginx+FPM/FCGI.
А в общем да - я с вами согласен. nginx - неплохой фронтенд (хотя и сырой, имхо). На бэкендах будет всегда оставаться что-то иное.
---
Еще немножко оффтопа, пожалуй.
Не зря у пользователей nginx часто ассоциируется с 502. 502 в нашем случае - это не вина nginx - это ошибка бэкенда. Но вся суть в том, что при использовании FCGI/FPM/... вся система получается несколько более падучей. Не только из за числа компонентов, но и из-за сравнительной ненадежности реализации.
По факту - nginx _очень_ хорош для масштабных применений - в качестве load balancer к десяткам worker backends. Когда его ляпают на каждый чих из-за фанатизма - это дает хреновый результат.
Я всегда сравниваю nginx с FreeBSD в этом плане - такое же мелкое нишевое "самопальное" решение, которое в России почему-то пытаются воткнуть каждой бочке затычкой, получая пачки костылей и крайне ненадежные системы. И лишь единицам с приличным выделенным штатом под костылинг удаётся добиться реальных результатов, причем иногда - выдающихся.