Если вы используете nginx + php-fpm, нужен ли nginx доступ к файлам php?
Контекст: создание модуля kuberentes с двумя контейнерами: nginx и php-fpm, мы можем встроить код php в контейнер php-fpm. Можно поделиться файлами php с томами, но действительно ли это необходимо?
Пожалуйста, поправьте мое понимание: nginx просто перенаправит предварительно обработанный запрос на php-fpm (с использованием протокола fast-cgi), который выполнит скрипт. Таким образом, php-fpm должен читать файлы php. Однако я не вижу причин, по которым это нужно nginx, кроме проверки, найден скрипт или нет. Он может отправить имя сценария в php-fpm без доступа к файлу php.
Спасибо
Нет, ему не нужен доступ к файлам, если вы не используете try_files
. Вы можете безопасно использовать удаленный сокет в качестве восходящего потока без необходимости заполнять файлы в контейнере nginx. php-fpm использует протокол fcgi, который передает путь к файлу для обработки в качестве параметров SCRIPT_NAME и SCRIPT_FILENAME fcgi.
В стандарте nginx
и php-fpm
дизайн try_files
проверяет наличие файла, а затем отправляет путь к файлу в php-fpm
через сокет TCP / IP или unix для выполнения, чтобы nginx
должен иметь возможность видеть файл - nginx
является файловым сервером независимо от того, является ли файл статическим файлом HTML или сценарием, и php-fpm
это процессор в данном случае.