Да, вам абсолютно необходим nginx перед Apache. Apache использует 1 поток или процесс на соединение. Каждый из этих потоков занимает память. Если у вас есть несколько сотен человек, посещающих ваш сайт, и у вас включена поддержка активности активности, каждый из этих браузеров будет поддерживать процесс apache или поток, занимая память на вашем сервере.
Вы можете обойти эту проблему, отключив функцию keepalive на своем сервере apache, но это замедляет работу вашего веб-сайта, поскольку браузеры не могут повторно использовать соединения.
Таким образом, вместо этого вы используете nginx в качестве обратного прокси-сервера с включенной поддержкой активности. Он может поддерживать тысячи соединений с небольшим объемом памяти (около 8 мегабайт). Поскольку nginx является локальным для вашего сервера apache, каждый запрос занимает дочерний элемент или поток apache только в течение нескольких микросекунд. Это означает, что вы можете обслуживать тысячи людей с помощью лишь небольшого числа процессов Apache.
Кроме того, конфигурация nginx гораздо более гибкая, чем у Apache, и, имея ее на внешнем интерфейсе, вы получаете большую гибкость.