nginx + php-fpm chdir не работает

У меня проблема с работой nginx и php-fpm.

Я получаю сообщение об ошибке 504 при попытке доступа к своему приложению.

У меня есть такая структура;

data/mywebsite/
 |    
 |---revisions/
 |
 |---shared/
 |
 |---released/
       |---web/
       |---app/
       |---.../

в моем пуле fpm у меня есть следующее:

chroot = /data/mywebsite/
chdir = /released/web/

в моем nginx:

root /data/mywebsite/released/web/;

fastcgi_param                  SCRIPT_FILENAME              /web/released$fastcgi_script_name;

Итак, я хочу chroot на data / mywebsite / и приложение расположен в data / mywebsite / Release / web / для доступа к файлам в общей папке.

nb: Я не Не знаю, стоит ли об этом упоминать, но у меня есть такая мягкая ссылка выпущена -> /data/mywebsite/revisions/...[1247pting

0
задан 3 July 2017 в 15:26
1 ответ

Когда вы планируете использовать chroot PHP-FPM, вам нужно скопировать довольно много системных файлов внутри chroot для правильной работы.

Например, вам потребуется / data / mybesite / dev , / data / mybesite / proc , / data / mybesite / sys каталоги / псевдо-файловые системы и файлы внутри / data / mybesite / lib и многие другие.

Вы также не можете использовать символические ссылки, указывающие за пределами chroot.

Если вы используете / data / mybesite в качестве каталога chroot , затем символическая ссылка в / data / mybesite / example1 / example2 , указывающая на / data / mybesite / example2 указывает на / data / mybesite / data / mybesite / example2 dire ctory при использовании внутри chroot.

Я рекомендую не использовать функцию chroot , если вы не готовы тратить время на изучение требований к среде chroot для запуска приложений PHP-FPM внутри нее. Я выполнил эту работу для одного проекта, над которым работал, и это заняло несколько дней, даже если для работы использовалась вспомогательная программа.

0
ответ дан 5 December 2019 в 07:51

Теги

Похожие вопросы