Назад | Перейти на главную страницу

Автономный / отдельный сервер в качестве процессора PHP для других узлов

Из того, что я видел в различных документах и ​​примерах конфигураций, вы можете настроить PHP-FPM на другом сервере / оборудовании, отдельно от вашего веб-сервера (в моем случае - nginx).

Хотя в большинстве примеров перечислены некоторые варианты этого:

location ~ \.php {
    [various parameters]
    fastcgi_pass 127.0.0.1:9000;
}

Вы можете перенаправить fastcgi_pass на любой IP-адрес (192.168.1.10 для безопасности или 200.55.35.40, сойти с ума!), Тем самым делегируя обработку PHP другому серверу.

Мои вопросы: эти отдельные серверы должны иметь файлы PHP, доступные в их файловой системе, верно? Если да, то как мне настроить корневой каталог для PHP для поиска файлов, учитывая, что это обычно делается в конфигурации nginx (в моем случае). Это через параметры chroot и chdir в конфигурации пула или что-то еще, что я отправляю как SCRIPT_FILENAME из nginx?

Теперь самая интересная часть (для меня): если файлы на этом сервере не нужны (а nginx предоставляет файл на порт ip: в fastcgi_pass), как работают включения?

Я как раз думал о том, чтобы установить кучу серверов PHP-FPM и позволить им нести нагрузку по обработке многосайтового узла Wordpress, без необходимости выполнять rsync тонны материала туда и обратно.

Файлы также должны существовать на внутреннем сервере PHP, и они должны находиться по тому же пути, что и на самом веб-сервере. PHP ничего не знает о переводе путей к файлам скриптов, поэтому он использует путь, который передается с внешнего сервера.

Самый простой способ сделать это - поместить все файлы в общее хранилище (т. Е. На монтирование NFS), которое затем монтируется в одну точку монтирования на всех серверах. Тогда вам не нужно выполнять никаких операций rsync или другого копирования.