Personally I would avoid NFS for something like this simply because it's another single point of failure (what if the NFS server goes down? You will not be able to start or probably do anything with your web servers).
Also, rsync seems an overkill, and Puppet is possibly also an overkill, depending on how many servers do you have.
If I were you, I'd simply put all the shared configuration files in a git or hg (Mercurial) repository and sync by simply pulling & updating the sources. If you need it to be more centralized than what git & hg do, use Subversion (note that if the Subversion repo server goes down, each of your web servers will have its own local copy of everything, from which you could reconstruct it).