There are many options for hosting and this is not a exhaustive list just some of the options I have tried.
Command line deployment tool for static websites and SPA's
npm install --global surge
Change directory to your project with your index.html file
cd project-dir ls index.html
Love this option as it is so simple to configure and the Surge.sh docs are great. One gotcha is if you forget the usename and password there may be no way to recover access to your site.
You can host static websites and SPA's from gh-pages
You can add gh-page to any repo
Find out more here on how to setup github pages
By default you are given a domain in the following https://git-user-name.github.io/repo-name, again you can set a custom domain in settings
add your custom domain in the box provided, again you need dns hosting.
Haven't used since college but the free tier works well. I do remember that the config could be a pain point at times.
Glitch from the nice people that brought you stackoverflow. Its a hosting platform for node.js apps as with heroku you would need to set up an express app to serve the static content. Only issue with this option is you don't get to decide your domain name and I haven't as yet figure a way around this.
Hosting of a local PC If you are lucky enough to have a public ip address its as simple as setting up
As outline it the above examples static web files will be served from
But most people don't have public IP so may have to look at a dynamic dns provider.
e.g. noip.com which give you an option to setup ddns on your router or have software running on your pc that that will updates the dns when the ip address changes.
I learned a lot doing this and even got around to setting up my own dovecot email server. It wouldn't be my goto for hosting now, but as a learning exercise it's worth a try. Pain point loss of power or ISP outage and your site is offline. Same if your hardware goes bang.
If you are going down the Apache/Nginx route you may be better off signing up free tier cloud offering many of which give a free year
There are pros and cons for both methods of using Apache/Nginx but the Cloud will scale better and will be more reliable that Self hosting. Pain point you have to watch the billing like a hawk in case you go beyond the free tier usage.