Как задеплоить бэк и фронт на одном сервере?
Всё в рамках стандартной конфигурации с проксированием. Делаете два серверных блока, разводите по разным портам в proxy_pass.
В зависимости от того, откуда д.б. доступны фронт и бэк, можно придумать разные решения.

Проще всего разнести фронт и бэк по разным IP-адресам, благо из пула 127.*.*.* их можно брать более чем достаточно. И дальше надо запустить два экземпляра Ngnix на этих адресах. А каждый адрес прописать в DNS в соответствующей зоне.
Если же фронт и бэк д.б. доступны извне, со всего мира - для этой схемы надо иметь несколько IP-адресов.

Можно разнести фронт и бэк по разным портам. Тогда в DNS оба имени должны указывать на один IP-адрес, а порт д.б. прописан в URL.

И наконец, можно сделать DNS-based вирт.хосты (вирт.сайты) внутри одного Ngnix. В DNS оба имени должны указывать на один IP-адрес.

PS: А ещё фронт и бэк можно засунуть в разные вирт.машины, и это будет как будто они на разных компьютерах.