Re: nginx, fastcgi и деплой на симлинках
Maxim Dounin
mdounin на mdounin.ru
Чт Мар 21 14:08:12 UTC 2019
Hello!
On Thu, Mar 21, 2019 at 02:21:52PM +0300, Иван wrote:
> Здравствуйте!
>
> Есть симлинк
>
> /home/live -> /home/releases/live/1.2.9
>
> при деплое он меняется на
>
> /home/live -> /home/releases/live/1.2.10
>
> а код продолжает работать версии 1.2.9 .
>
>
> Преполагаю, что должен помочь такой патч к конфигу nginx
>
> location /live/ {
>
> + root /home/live;
> include fastcgi_params;
>
> - fastcgi_param SCRIPT_FILENAME
> /home/live/register_user_new.php;
> + fastcgi_param SCRIPT_FILENAME
> $realpath_root/register_user_new.php;
> }
>
> Верно? Короче говоря, непосредственно указать путь в fastcgi_param
> симлинки кешируются, а с realpath_root - всегда актуальны?
Судя по симптомам - ваша наблюдаемая проблема в кэшировании кода
на стороне fastcgi-бэкенда.
Добавление переменной $realpath_root - тут скорее всего
действительно поможет, но вообще говоря она нужна для решения
другой проблемы. Смысл этой переменной в том, чтобы можно было
избежать race condition при переключении на новый релиз сайта, и в
рамках одного запроса использовался один и тот же путь. В
частности, переменная $realpath_root нужна, чтобы в php разные
include-файлы подбирались от одной и той же версии сайта, а не от
разных.
--
Maxim Dounin
http://mdounin.ru/
Подробная информация о списке рассылки nginx-ru