加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 运营中心 > Nginx > 正文

PHP-Nginx-如果URL有查询,然后运行命令?

发布时间:2020-12-13 20:54:57 所属栏目:Nginx 来源:网络整理
导读:我有一个正在处理的大型电子商务项目,供应商使用NGINX和Varnish设置. PHP也位于OB缓存层中,并且也有一些内存缓存规则. 我遇到一个问题,开发人员面临着新上传到文件的问题,需要重新启动服务器或运行PHP上的某些命令才能查看这些文件-即使使用我们的dev / depl

我有一个正在处理的大型电子商务项目,供应商使用NGINX和Varnish设置. PHP也位于OB缓存层中,并且也有一些内存缓存规则.

我遇到一个问题,开发人员面临着新上传到文件的问题,需要重新启动服务器或运行PHP上的某些命令才能查看这些文件-即使使用我们的dev / deploy上线网站也无法实现-总是有一段时间我们需要快速清除.

我想:

www.site.com/category/mens/?flush=1
www.site.com/pages/about/?flush=1

如果刷新参数被触发,那么我想运行

php restart
varnish restart 
memcache restart 

我刚在想

location = / {
    if ( query[flush]==1 ) { // pseudo code as I don't know NGINX formatting

         #service php-fpm reload;
         #service varnish restart

    }
}

这有可能吗?如果是这样的话,NGINX的规则是什么,我可以在我的vhost文件中执行那些SSH命令.我知道IfIsEvil这不是我的问题.

最佳答案
location / {
  # ...
  if ($args ~ "flush=1") {
    # do something
  }
  # ...
}

至于执行外壳命令,您可以尝试lua-nginx-module.

content_by_lua 'os.execute("")';

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读