You're actually asking two questions.
Load balancing of HTTP traffic
A good tool to use is haproxy. I find it very worthwhile to use because of its light resource usage, versatile configuration, excellent logging and good "live" UI.
You can run it on one machine and distribute HTTP connections to various backends based on a configurable strategy (like round-robin, or more preferably: least open connections).
Deploying your application on multiple hosts
Just syncing the harddrive will likely not be the solution. Unfortunately you only mention "web projects". Does that mean static HTML? Code? Databases?
Most applications aren't written in a manner that they can operate on a "shared filesystem" because they would step on each other.
The architectural pattern that is normally used for making web applications scale is called "shared nothing" so they can run without this kind of syncing.
I find the "12 factor app" a good handbook for this pattern: http://www.12factor.net/processes it also references the Wikipedia article on the topic: http://en.wikipedia.org/wiki/Shared_nothing_architecture