У меня проблема с работой 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
Когда вы планируете использовать 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 внутри нее. Я выполнил эту работу для одного проекта, над которым работал, и это заняло несколько дней, даже если для работы использовалась вспомогательная программа.