Sometimes, you have more than one application and each app has its own domain. But you have only one host machine. To deploy these applications on this same host, we will set up a nginx front-end web-server as a proxy to the apps.
NginX is one of the most famous web servers out there. It is very powerful and stable, but you need to learn how to configure it because it does not run out of the box. On the web, some people discusses if you should always use a NginX front-end in front of each node.js server you are running, but this is not the topic of this post ;).
So, you have finished your application and want to deploy it in your server forever. You want to avoid your app closes when you close your SSH session. Also, if the app crashes, it should automatically restart. Then, this is what you have to do.