Подскажите, nginx взаимодействует с питоном или нодом только, когда приходит запрос на html документ?
А остальные запросы на картинки и стили сразу сам обрабатывает?
И получается, что SPA сайт мы можем вообще на одном nginx запустить?
Как настроите, так и будет. Если настроить, допустим, чтобы существующие файлы обрабатывал сам, а за несуществующим лез к другому серверу, то он и будет так поступать.
А настройки CGI нужны только, если мы не пишем сервер на языке, а только обработчик?
Т.е. для пхп cgi обязателен, а для питона или нода, если написать сервер для отдачи и обработки хтмл, то cgi не нужен?
MrAlkatras, CGI nginx вообще не умеет. Т.е. он сам вам никакого обработчика не запустит.
Умеет он fastcgi, или проксирование http запросов. И в том, и в другом случае, у вас должно быть внешнее приложение, которое будет отвечать по одному из этих протоколов. Например, для php можно использовать php-fpm. Или это может быть приложение на C интерфейсом fastcgi. Или что угодно другое, работающее по этим протоколам, например, веб сервер отвечающий по http - это случай NodeJs.