The first step would be to have a place to host your site. There are ways to do for free but I frown on all the free services because your site will be bombarded with ads, you will be shearing bandwidth with a tun of other websites and most importantly, your site will be on a sub domain.
Therefore, get a domain. You also need to find a host and in most cases they will sell you the domain for next to nothing if you select one of their plans. If you don’t like the host, you still own the domain name and you can transfer it to a new host.
Currently I use a host called Arvixe. For a small site like mine, it does the job. It’s cheap and I moved to it because I used bluehost which tried to charge me double the price when my contract expired.
Ultimately, you will want unlimited bandwidth, cPanel and a choice between UNIX and windows.
The big questions are: Are you just uploading raw HTML and CSS? If so then you will use an ftp client like File Zilla or cute ftp (cPanel will be your friend when setting up an ftp account so you can use one of these programs to upload your files)
It will get a little trickier if you are using a CMS like Word Press. If there is a database involved you will have to read on how to import the (usually an .sql file) onto your server. Then you will have to change all references in the SQL tables to point to your domain name and not (what you have locally on your had drive like localhost/folder-the-site-is-installed)
After that it is ‘just’ a matter of getting traffic to your site. SEO, SMO, Adwords… Ad nauseum