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

Нужен ли Nginx доступ к файлам php

Если вы используете 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 это процессор в данном случае.