Я масштабирую приложение PHP на несколько серверов с помощью внешнего веб-сервера (под управлением Apache) для статических файлов и проксирую динамические запросы для двух серверов приложений. У меня вопрос: как запустить PHP на серверах приложений? Из мира Rails я знаю серверы приложений, такие как Mongrel или thin, на которых можно разместить приложение. Какие есть эквиваленты в PHP-land?
Вы должны взглянуть на PHP-FPM. Это реализация PHP FastCGI, которая должна позволить вам отделить PHP от собственного сервера приложений.
В качестве расширения комментария @cagenut я бы рекомендовал придерживаться простого случая и использовать обратный прокси (mod_proxy_http) под Apache для распределения нагрузки с внешнего интерфейса на другие серверы. Если вы решите пойти по маршруту FastCGI, вы можете прислушаться к совету в нижней части эта почта.
Обычная практика PHP отличается от Ruby в некоторых отношениях, в основном mod_php - чрезвычайно зрелая реализация (где Ruby казался плохо подходящим для встраивания в процесс). Внеполосный запуск PHP-процесса из Apache дает преимущества (безопасность, изоляция, контроль). Тем не менее, если вашей целью является только распределение нагрузки, я бы остановился на более простой реализации и дождался реальной необходимости, прежде чем усложнять настройку.
Проверьте Photon - http://www.photon-project.com. Он все еще находится в зачаточном состоянии, но выглядит многообещающим.
Вы можете запускать приложения, используя PHP-CLI для чего-то простого, но PHP-FPM, как предлагает Карсон, определенно лучший вариант?
Зачем бороться с обычным / простым случаем, запускайте его как mod_php под apache.