我有一个案例,我使用Nginx在/var/www/html
中提供静态文件。这是我的配置:
server {
listen 80 default_server;
listen [::]:80 default_server;
root /var/www/html;
index index.html index.htm index.nginx-debian.html;
server_name _;
location / {
try_files $uri $uri/ /index.html ;
}
}
我使用crontab任务每5分钟更新一次var/www/html
内容:
*/5 * * * * /usr/bin/aws s3 sync s3://my_bucket /var/www/html --delete
文件也更新得很好。新的文件正在进来,删除的文件正在被删除。
在crontab任务之后,我看到服务器上的文件系统发生了变化,但通过www访问的客户端上没有。我以为这可能是Nginx缓存问题,但重新启动Nginx甚至整个服务器都没有帮助。清除浏览器缓存并不能很好地为我们工作。
只有当我用rm -rf *
命令清空/var/www/html
目录并再次用S3手动同步它时,我才能看到最新的更改-尽管文件与S3同步之前完全相同。
是什么导致了这种行为?
1条答案
按热度按时间33qvvth11#
你的cronjob命令似乎是正确的。
尝试全局禁用nginx缓存。