>>106094614 (OP)you need:
a dedicated server, that means any old computer, an old laptop would even work, or an old office machine, just pick something with an ethernet port that has more than 512M of ram (2-4 gigs are far more than enough)
you also need: a domain, if you actually want people to find you
you can buy domains and transfer them to freedns.afraid.org if you dont want to pay yourself stupid, but expect to hand out free subdomains to random people
alternatively, you can leech a subdomain for 0$/lifetime from freedns too, if you can find one you like.
now you need to actually set up your domain. forward ports 80 and 443, set up and configure nginx on your server (i'm assuming you already installed some GNU/Linux distro on your server beforehand, because hosting on winshit is basically impossible), make your (sub)domain point to your (ideally static) IP address, and get letsencrypt SSL certificates. now you should be able to reach your server over https://your.domain, because SSL should work.
you can now throw whatever HTML/CSS/etc.. you want at nginx, and it will simply serve that.
also, make sure to redirect all requests to port 80 to port 443, unless you want people to reach your site over plain unencrypted http as well. otherwise you only really need that for your SSL certificates.
here are some things you should know about:
JS is absolute fucking garbage, don't ever deal with it unless you absolutely have to, and if you do, only write a few lines of it manually, DO NOT rely on pajeet "frameworks" and other bullshit because they will make your website take 2 minutes to load, thanks to 50MiB of bloated bullshit just to render a fucking rounded-corner button with transparent edge shadows.
you can do 99% of all the things you need with HTML, CSS, and maybe some fcgi scripts. if you want to hire someone to do this job for you, don't hire a "web dev" or "web designer", hire a sysadmin.
oh and make sure you update/reboot your server once in a while.