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