У меня есть странная проблема, которой раньше не было.
Я использую 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
Я знаю, что это вопрос 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
Надеюсь это поможет.
С уважением, Ваутер
Других решений пока нет …