Now that you have created a site you are ready to publish that site. The basic steps to publishing are as follows:

First, make sure that all of your code is complete and every file that your site relies on are contained in the same place.
This may seem like a "no duh" step, but even the best developers forget a picture or closing tag from time to time. Validate your code and run accessibility tests to ensure everything is where it needs to be.

Next, we need to address hosting and obtaining a domain name.
Traditionally, you would have to rent some space with a host's web server and you would rent your domain name from a domain registrar for X amount of years. Now, most of the major hosting sites provide both domain name registration and hosting with the same company.

Static or Dynamic?
Will your page be a static page, one where each page is a separate HTML file where certain aspects, like a footer, must be updated in each file. A dynamic website, while initially harder to code than a static site, is much easier to update both design and content. Static sites are better suited to promotional sites that will only run for a short time, while dynamic pages are more suited to just about every other type of site.

Which host to choose?
Which domain host you choose depends on the size of your site and how much you intend to grow the site. Some other factors to think about would be maintenance, what level of support you may need. Some examples of major hosting sites are 1&1 and Wix, both of which have different options and plans available to suit your site needs.

Resources:
https://developer.mozilla.org/en-US/docs/Learn/Getting_started_with_the_web/Publishing_your_website
https://rocketmedia.com/blog/static-vs-dynamic-websites