Virtual Hosts are used in Apache to allow a single web server to serve numerous websites. Basically www.FailedNormal.com point to /var/www/FailedNormal, and www.EliTheComputerGuy.com points to /var/www/EliTheComputerGuy.
VPS , Virtual Private Servers, are simply virtual servers that are hosted by vendors such as Linode and Digital Ocean.
Apache is the go to web server for deploying websites. You can run it on Linux, Windows, Mac, Unix and more. It’s free, and reliable.