我们将 nginx 与 php-fpm 一起使用。我们计划使第一页静态化(生成 html 文件)。如果我们有 100 个并发连接,我们如何处理文件重新生成?基本上我们需要生成新文件 index_new.html,然后删除 index.html,然后将 index_new.html 移动到 index.html。当 index.html 文件被删除时会发生什么?用户收到 404 错误?或者 nginx 处理操作系统缓存中的文件?一种想法是告诉 nginx,404 错误是 index_new.html 然后不要将 index_new 移动到索引,而是复制。但我不喜欢关于 404 错误的想法。
谢谢。
命令使用的 Unix
rename()
系统调用mv
是原子的。因此,如果您使用mv index_new.html index.html
,则不会错过任何请求。