web-dev-qa-db-ja.com

Nginxがシンボリックリンクを正しくたどらない

展開プロセスを自動化しようとしていますが、この奇妙な問題が発生しています。 Webアプリの新しいバージョンはすべて/var/www/releases/{timestamp}に配置されます。そのディレクトリでgit cloneを実行した後、/var/www/currentへのシンボリックリンクを作成します。次に、service nginx reloadを実行します。このアプローチは多くの展開ツールで使用されており、よく考えられています。

問題は、Webブラウザーにアクセスして変更を確認し、更新を複数回押すと、両方のリリース(現在と以前)が数秒/分交互に表示されることです。しばらくすると、現在のバージョンでのみ安定します。

この問題の原因を知っている人はいますか?

ありがとうございました

4
user1630391

Nginxにキャッシュが存在する可能性があります。 nginxキャッシュをオンにしましたか?このスレッドは役立つかもしれません https://stackoverflow.com/questions/6236078/how-to-clear-the-cache-of-nginx

2
imapollo