Possible approaches:
Use GitHub pages, if you have a public GitHub repository for your project, this will give you a Web site out of the box. But you would annoy GitHub if millions of people tried to access that site.
Buy a domain name and get a Web site started on a commercial Web hosting platform. Then the scaling is up to you and your Web hosting provider. This starts out being very cheap. Usually this comes with a whole lot of infrastructure, mostly pre-configured, including Web servers, Nodel.js, npm, PHP, databases, etc.
If your Web site is quite dynamic, i.e. acts like an application, consider using Node.js or one of its alternatives. You would essentially be writing the server in JavaScript or TypeScript.
If you have static Web sites and just need to develop them further on your computer before deploying them to a Web host you can use Python itself as a simple Web server on localhost.
I guess the main question here is, is your Web site static or dynamic? "Static" means the server hosts only files. Those files can do any amount of computation once they are running in someone's Web browser. "Dynamic" means that the server doesn't only host files, but runs code, sometimes generating pages, using databases, etc.
Regards,
Mike
-----------------------------------------------------
Michael Gogins
Irreducible Productions
http://michaelgogins.tumblr.comMichael dot Gogins at gmail dot com