我们有一个运行 nginx 的 Web 服务器环境,它有 4 个虚拟主机(其中 2 个用于生产,另外 2 个用于测试)。我们运行 php-fpm 和所有 nginx 缓存。现在,我有两个问题:
- 我如何才能让缓存仅在生产过程中运行,而不在测试虚拟主机过程中运行?
- 而且,每次将新东西纳入生产时,开发人员都必须等待缓存自行清除,这个过程要持续 1 小时(开发人员没有访问 Web 服务器的凭证,他们通过 NFS 管理一切)。有没有办法在需要时清除缓存?
谢谢你!
答案1
您可以在测试虚拟主机中不使用缓存,只需未指定一个。例如,不要输入任何fastcgi_cache
类型的指令。
您只需从磁盘中删除文件即可清除 nginx 的缓存。您应该能够找到某种方法将其融入到您的部署过程中。