I need to scale across different servers as well.
You can go with, PM2 with Nginx.
This is the most preferred way for scaling the node.js apps.
Here's the better explaination:
Nginx on the outside, to be the front door. It should handle SSL and be a reverse proxy into pm2. Bonus points for mapping static assets at nginx, and sheilding node from those requests.
Then pm2. It too is a reverse proxy, but very specific to node processes and really more of a process manager than a webserver. Using it is still a great idea. You can spin up N node processes allowing you to take advantage of multiple CPUs, and pm2 will keep them going in case of a crash. You can make graceful restarts as well, updating one instance of your application at a time, with zero downtime.
Pm2 also comes with some handy utilities like built in (freemium) metrics, and a great little web management tool you could expose to show basic stats, and stdout of your processes.
Having both layers, on the same server or split out if needed, gives you a lot of control and performance. The overhead is not at all bad (since each layer is doing what it does best) and is not at all difficult to set up.