If you really want a static IP you can often get a permanent DHCP lease from your cable company for business service. It runs not that much more with basic channels than residential service.
Others have said dynamic DNS and that's great but be sure that the information at the DNS is correct or you'll point to the wrong place. It needs to be polled if it changes at all beyond your control and you do not know when.
Otherwise statically assign your DNS and hope it does not change.
MORT is using a VPS with a deal I got from VPS Unlimited some time ago and got transferred to them:
http://www.vpsunlimited.com/
We did a review of all the other choices and this was the cheapest we could get for that price. It's a Xen VPS. We haven't reviewed that decision in a few years so perhaps pricing has changed (gotten cheaper) but I host websites and really I doubt it.
We had a wide choice of operating systems we could get installed on the VPS and you have a great deal of control over it. Having used it for a few years we've had a small number of short outages (mostly related to transit between them and us) and it's handled the load during competition season well.
Mind you an unmanaged VPS means you install everything. Apache and anything else you want and you maintain them.
Not such a bad deal really if you are trying to learn.
Also take a look at the Amazon EC2 cloud and elastic IPs. If you keep the traffic low enough you can get RedHat Linux with the patches you normally have to pay for for zero cost at least for several months.
http://aws.amazon.com/free/
http://aws.amazon.com/articles/1346