NGINX Caching Symlinked Web Site Расположение

У меня есть странная проблема, которой раньше не было.

Я использую Ubuntu Box на Digital Ocean, который использует NGINX и PHP-FPM. Я также использую PHP Deployer для развертывания кода между Stage и Prod.

В этом случае Deployer использует символические ссылки, чтобы сообщить серверу, где находятся файлы. /var/www/mydommain.com/current будет символическая ссылка, которая указывает на /var/www/mydomain.com/releases/26,

Это все хорошо, и если я делаю cd /var/www/mydomain.com/current это изменится на releases/26, Однако веб-сайт все еще указывает на releases/25, Я перезапустил NGINX и PHP-FPM несколько раз, но безуспешно.

Почему NGINX все еще указывает на releases/25 когда символическая ссылка на самом деле указывает на releases/26? Я не могу получить это.

В конфиге NGINX для этого домена у меня есть root /var/www/mydomain.com/current

1

Решение

Я знаю, что это вопрос 8 месяцев, но это может помочь другим:

Я столкнулся с той же проблемой и заметил, что если я отредактирую свой индексный файл (index.php) предыдущий выпуск, символическая ссылка волшебно обновляется.

После развертывания я просто запускаю:

touch /path/to/releases/[previous_release_number]/public_html/index.php

…обновить метку времени изменения файла.

В итоге я включил его в свой deploy:symlink Задача, как это:

task('deploy:symlink', function () {
run("cd {{deploy_path}} && ln -sfn {{release_path}}/public_html ./public_html");
run("touch {{previous_release}}/public_html/index.php");
})->desc('Linking latest version to public_html'); // <= Added this

Надеюсь это поможет.
С уважением, Ваутер

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]