Running your own website on a Virtual Private Server (VPS)
Factors to consider when buying a VPS
Quick start guides
Logging in, for all providers: https://www.digitalocean.com/community/tutorials/initial-server-setup-with-ubuntu-20-04
For the OVH provider: https://docs.ovh.com/gb/en/vps/getting-started-vps/
For the Linode provider: https://www.linode.com/docs/getting-started/
Building a website
I personally prefer Nginx over Apache because of the syntax of the configuration files. The tutorial above uses Nginx. If you want to use Apache instead, here's a tutorial: https://www.digitalocean.com/community/tutorials/how-to-install-linux-apache-mysql-php-lamp-stack-on-ubuntu-20-04
Your files for your website should be in
/var/www/your_domain, replacing your_domain with whatever your domain name is (assuming you followed the tutorial).
You can upload them by connecting to your server through SFTP in a FTP browser such as FileZilla or by using
scp in the command line.