Пришел момент задеплоить простенький учебный проект и начал гуглить как это сделать.
Для учебного проекта вполне хватит реализации без Nginx (если это не обязательное требование), покажите Node.js проект преподу, получите оценку и забудете. А вот для реально рабочего проекта Nginx предлагает следующие преимущества:
1. Обратный прокси с мощным функционалом из коробки.
2. Быстрое кэширование, балансировка нагрузки и удобное масштабирование.
3. Nginx быстрее и стабильнее, чем Node.js для статических файлов, что позволяет сильно оптимизировать расходы на серверную инфраструктуру.
4. Огромное сообщество и множество мануалов для настройки, с множеством различных кейсов, под каждую, даже самую дикую задачу.
Node.js можно заменить, например на Python или PHP - настройка Nginx практически не изменится. Затем сделать из Node.js, Python и PHP - 3 отдельный приложения, "связать одним Nginx" и... настройка Nginx практически не изменится.
Рекомендую изучить -
Why should I use a Reverse Proxy if Node.js is Pro...
Benchmark: