部署时,我们会在版本文件夹中创建一个带时间戳的文件夹。从 git 克隆完成后,我们会取消符号链接,并创建一个指向新版本文件夹的新符号链接。我们重新加载 apache(不是完全重启),刷新页面时需要多次刷新(有时需要几分钟),直到它停止提供新旧内容的混合。
我认为这是由于过时的 apache 工作者或 Rackspace 服务器在文件系统级别缓存造成的?(我尝试强制 ln 命令使用同步“运行得更快”,但没有任何变化)
例如 1. doc_root/ ->versions/12345 2. 部署,创建 67890 文件夹,签出 3. 取消链接 doc_root 4. 符号链接 doc_root/ ->versions/67890 5. 重新加载 apache 6. 刷新页面几分钟,它将提供来自 12345 和 67890 的内容。
我是否错过了可以采取的措施来确保这种情况不会发生?这是否与符号链接有关?我们应该使用 mv 来交换目录吗?