What is the best scalable architecture for an Apache/PHP environment? I would like to use a single Apache instance and offload requests to N web application (PHP) servers; how is this typically accomplished?
I am using fastcgi and php-fpm, this way you can have multiple php-fpm daemons on different machines.
Bear in mind that php-fpm needs to have access to your docroot, so some kind of shared storage will be necessary when using multiple machines.
There are a wide variety of solutions to this problem, but if you're already familiar with Apache, then the simplest solution will be to make sure mod_proxy_http and mod_proxy_balancer are enabled on your Apache build:
That's just the first step, of course. It will round-robin requests between the members of the balancer set you defined. If you want sticky sessions, load ratios, filtering based on user agent, cookies, or IP address, etc, check the documentation linked and of course, please post more questions.