nginx и смена симлинков

Иван nginx на kinetiksoft.com
Вт Ноя 28 15:52:30 UTC 2017


Здравствуйте!

nginx 1.12.2, debian 8, php-fpm (5.6)
*# *nginx -V 


Есть самописное приложение на php. У него есть две версии: stable и current. Для 
быстрой смены используется следующая схема:
/var/www/stable/ - тут лежит stable
/var/www/current/ - тут лежит current
/var/www/html - симлинк на на /var/www/stable или /var/www/current

В nginx пыха сконфигурирована как

root /var/www/html;
                location / {
                        fastcgi_pass unix:/run/php-fpm.socket;
                        include        fastcgi_params;
                        fastcgi_param SCRIPT_FILENAME $document_root/index.php;
                }

Проблема в том. что при переключение stable->current (и наоборот), которая 
происходит примерно так:
# /var/www/html указывает на  /var/www/stable , переключаемся на current
rm /var/www/html; ln -s /var/www/current/  /var/www/html

до упора используются файлы из старой директории (stable в примере выше). Не 
помогает ни очистка opcache, ни рестарт пыхи. Только restart (возможно reload, не 
уверен) nginx. 
Хотелось бы
1) понять почему так. nginx где-то как-то кеширует куда указывает симлинк?
2) избежать этого ("троганья" nginx (в идеале и рестарта php-fpm), в принципе готовы 
поменять воркфлоу, но пока не понимаем как.

С уважением, Иван.
----------- следущая часть -----------
Вложение в формате HTML было извлечено…
URL: <http://mailman.nginx.org/pipermail/nginx-ru/attachments/20171128/1581b0af/attachment.html>


Подробная информация о списке рассылки nginx-ru