I have a machine with web server installed on it.
I have an modem with internet connection with static IPv4 address. I need to register a domain name and I wanted them to forward the request to my machine static IPv4 address.
How can I do this ?
1. Specify an A-name record for your domain that points to your IP address. This sends web traffic to your static home IP. It's a lot more complicated if you have a dynamic IP, but you've said it's static, so it's easy. Here's a help file if you're on godaddy, otherwise check your domain provider: http://support.godaddy.com/help/article/7920/adding-or-editing-a-records?locale=en
2. Setup port forwarding on your router. You'll want anything on port 80 to be sent to your servers internal IP. Router interfaces vary greatly, but if you login and search for port forwarding in the menu options, it's pretty obivous. Type in port, type in IP, and click add. Then all traffic on that port (80 for web servers) will be sent to your linux home server.
You should know however that some ISPs don't allow you to host a website, so you may wish to check with them first. Probably not an issue, but you have been warned.
But I have a question here,
you said A-name record means I have to specify in DNS Server where I have registered my domain. For eg: example If my domain is in Godaddy DNS server then I have to Forward the request to my static IP address.
Is that Correct ?
Yes. The A-Name record for the domain points to the server it's hosted on. So in your case, it should point to your home IP address (the public one, bot internal one).
check these websites for a better knowledge http://www.wikihow.com/Create-a-Web-Host-in-Your-Home and http://www.guardian.co.uk/technology/askjack/2011/feb/03/website-hosting-at-home-office-ask-jack
Please don't just post a link you grabbed from Google. Use your own knowledge to explain a useful Answer. If they wanted to use Google, they would have done so.