I have 20+ web servers running nginx+php-fpm behind a pair of HAProxy balancers. In my opinion, and from my own experience, the is the optimal setup. Not taking anything away from Apache (I use it for over 10 years), but Nginx simply blows its socks off.
HAProxy is the best open source load balancer. Period. I have tried many, including commercial offerings. I installed nginx on the load balancer as well to offload the SSL. It works like a charm, even under high load.
Splitting all the static content (images, css, js, etc) to separate nginx(s) gives you a further performance boost. HAProxy can send all static requests to a separate server, meaning you have the benefit of parallel requests in your back end systems.
If you do try HAProxy, remember to keep the MAXCONN setting for the web servers to a low (like 20 of 40) value. I see so many posts that have the web server maxconn setting being set to something like 1000 - which will result in HAProxy overloading a node in no time flat.