Как использовать PHP -FPM с псевдонимами - PullRequest
4 голосов
/ 25 февраля 2020

Я экспериментирую с обновлением моего сервера Centos 7 с PHP5 до PHP7, и похоже, что также рекомендуется использовать подход fpm (который я новичок).

На моем тестовом сервере я установил PHP7 .3 без проблем и PHP -FPM. И добавление строки

ProxyPassMatch ^/(.*\.php(/.*)?)$ fcgi://127.0.0.1:9000/my_doc_root/$1

Работает .... вроде.

Проблема заключается в том, что по историческим причинам, не зависящим от меня, у меня есть различные пути, наложенные на /, но которые находятся за пределами документа root. т.е.

Alias /myURL /some/different/path

Очевидно, проблема в том, что приведенная выше команда ProxyPassMatch перенаправит «myURL / fi sh. php» в несуществующий файл («my_doc_root / fi sh». php "), которая выдает ошибку.

Есть ли простое решение этой проблемы? например, что-то, что я могу вставить в записи <Directory> для документа root и для some/different/path. В качестве альтернативы, есть ли способ обновить /etc/https/conf.d/php.conf (с PHP5) для запуска PHP7 в старом стиле? Я не думаю, что смогу, поскольку в пакетах php73 не было файла lib php.

Очевидно, что есть решения (напишите отдельные директивы ProxyPassMatch для каждого URL, которого нет в документ root или реорганизовать всю файловую систему более разумным способом), но я бы предпочел этого избежать, если смогу; действительно, последнее я просто не могу сделать.

1 Ответ

2 голосов
/ 25 февраля 2020

Попробуйте поместить псевдонимы перед директивой ProxyPassMatch, так как, если он обнаружит это первым, псевдоним будет проигнорирован.

Alias /myURL /some/different/path
<Directory "/some/different/path/">
    AllowOverride All
    require ip 127.0.0.1
</Directory>

ОБНОВЛЕНИЕ Возможно, это поможет вам https://serverfault.com/questions/629099/apache-2-4-php-fpm-mod-proxy-fcgi-alias

...