Как поднять два процесса в nginx?
Один nginx с несколькими секциями server.
Зачем все эти сложности с поддоменами, когда все относительно просто

upstream client-upstream {
    server    0.0.0.0:3000;
    keepalive 15;
}

upstream back-upstream {
    server    0.0.0.0:8000;
    keepalive 15;
}

server {
	listen ${HOST_IP}80;
    server_name ${PROJECT_NAME} www.${PROJECT_NAME};

    server_tokens off;

    root /var/www/prod/public;
    index index.php index.html index.htm;

    location / {
         proxy_pass http://client-upstream;
         proxy_http_version 1.1;
         proxy_set_header Upgrade $http_upgrade;
         proxy_set_header Connection $http_upgrade;
         proxy_set_header Host $host;
    }
    
    location /api {
         proxy_pass http://back-upstream;
         proxy_http_version 1.1;
         proxy_set_header Upgrade $http_upgrade;
         proxy_set_header Connection $connection_upgrade;
    }
}
В данном коде pm2 уменя поднимает и бэк и фронт на nuxt, со статичным бандлом реакта думаю все еще проще
nuxt крутится на 3000 порту бэк на 8000. При обращении на domain.ru/api nginx проксирует на 8000 порт в остальных случаях на 3000