使用FTP清除NGINXcaching

我有一个NGINX服务器设置来处理一个网站的caching(在别处运行)。

像魅力一样工作,但是我们希望pipe理员可以select从后台刷新caching。 我正在考虑使用FTP来处理这个问题,只需从caching目录中删除所有文件即可。

我已经设置了这样的caching:

proxy_cache_path /var/cache/nginx/my_site levels=1:2 keys_zone=MY_SITE:8m max_size=2048m inactive=720m; 

但是这些文件存储的权限为700.我怎样才能告诉NGINX也授予组(770)的权限? 然后我将创build的FTP用户添加到该组。

任何其他build议来处理冲洗将是OK(我heave读取StackOverflow上的线程 )。 后台位于另一个位置,所以我将不得不使用一些远程技术。

窃取从VBart和sendmoreinfo解释想法

请不要使用不安全的FTP,特别是在权限敏感目录上执行操作。 替代scheme是:

  1. 与普通用户一起使用SSH,并将sudo权限授予执行nginxcaching清除的特定脚本。 例如把这个脚本放在/opt/clear-cache.sh

     #!/bin/sh rm -rf /path/to/nginx-cache 

    为了安全起见,不要忘记跑步

     chown root:root h/opt/clear-cache.sh && chmod 700 /opt/clear-cache.sh 

    然后运行visudo/etc/sudoers下面添加行

     backofficeuser ALL=(root) /opt/clear-cache.sh 
  2. 使用cron来运行定期检查flag-file存在的脚本。 这个特殊的文件可以通过FTP SSH(SFTP / SCP)创build。 当flag-file存在时,脚本将清除nginxcaching。 示例脚本。

     #!/bin/sh FILE=/path/to/special/file if [ ! -f $FILE ] then rm $FILE rm -rf /path/to/nginx/cache/* fi 

    然后通过sudo crontab -e将其添加到cron中

     * * * * * /path/to/myscript.sh