我们正在使用带有 php-fpm 的 nginx。我们计划将首页设为静态(生成 html 文件)。如果我们有 100 个并发连接,我们如何处理文件再生?基本上,我们需要生成新文件 index_new.html,然后删除 index.html,然后将 index_new.html 移动到 index.html。删除 index.html 文件后会发生什么?用户收到 404 错误?还是 nginx 从 OS 缓存中处理文件?一个想法是告诉 nginx,404 错误是 index_new.html,然后不要将 index_new 移动到索引,而是复制。但我不喜欢有关 404 错误的想法。
谢谢。
答案1
rename()
该命令使用的Unix系统调用mv
是原子的。因此,如果您使用,mv index_new.html index.html
则不会错过任何请求。