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

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), в принципе 
готовы 
поменять воркфлоу, но пока не понимаем как.

С уважением, Иван.
_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Ответить