nginx-15 第三方组件和nginx平滑升级 - Go语言中文社区

nginx-15 第三方组件和nginx平滑升级


某些时候我们如果不想等待缓存的过期,想要主动清除缓存,可以采用第三方的缓存清除模块清除缓存。

模块下载

nginx第三方模块官方地址:
https://www.nginx.com/resources/wiki/modules/

在这里插入图片描述
进入github后,看到下边这个链接即包的下载地址:
http://labs.frickle.com/nginx_ngx_cache_purge/
在这里插入图片描述
进入后点击download即可。

需要安装此模块,稍后讲解。

使用方法
语法:proxy_cache_purge zone_name key
默认值:none
背景:location
设置用于从proxy缓存中清除所选页面的区域和键。

http {
proxy_cache_path  /usr/local/nginx/cache  levels=1:2 keys_zone=my_cache:10m  max_size=1g inactive=10s use_temp_path=off;
	server {
	   	 listen       80;
	     server_name  xxx.com;
	     location ~ .php$ {
	        proxy_pass  https://www.jd.com; 
			proxy_cache my_cache;
	    }
	    #清除缓存
	    location ~ /purge(/.*) {
       	allow 127.0.0.1;  //只允许本地IP
       	deny  all;
    	proxy_cache_purge my_cache  $host$1$is_args$args;
    	#my_cache是上边定义的key_zone
    	#$host$1$is_args$args是缓存键值 在proxy_cache_key指令中查看
 		}
	 }
}

安装模块并平滑升级

如果重新编译安装nginx,这样会影响用户的使用。
请注意演示的路径。
我nginx安装在了/www/server/nginx
源码包路径/www/server/nginx/src

  1. 下载第三方模块传到服务器。

  2. 找到nginx源码包,即当时编译安装nginx时的包

    移动ngx_cache_purge-2.3到现在使用的Nginx源码包下
    在这里插入图片描述
    在这里插入图片描述
    那么第三方包的扩展目录为/www/server/nginx/src/ngx_cache_purge-2.3

  3. 用–add-module=PATH 添加第三方扩展 重新编译

    重新编译需要在旧的参数基础上编译,执行nginx -V 查看旧的参数
    在这里插入图片描述
    拷贝参数,最好粘贴到编辑器上,原参数不变,
    后面跟上–add-module=/www/server/nginx/src/ngx_cache_purge-2.3 ,跟上文件夹路径。

    ./configure 参数
    在这里插入图片描述
    执行

  4. make 但千万不要make install
    编译而不要安装!
    在这里插入图片描述
    这时候会在objs生成新的nginx执行文件
    在这里插入图片描述

  5. 重命名 nginx 旧版本二进制文件,即 sbin 目录下的 nginx(期间 nginx 并不会停止服务)
    在这里插入图片描述
    在这里插入图片描述

  6. 然后拷贝一份新编译的二进制文件到该目录 在这里插入图片描述
    在这里插入图片描述

  7. 使用源码自带的升级命令:make upgrade 来自动完成平滑升级
    在这里插入图片描述
    在这里插入图片描述
    它执行了nginx -t 向nginx主进程发送USR2信号升级可执行文件 又向旧的进程发送QUIT信号平滑退出。

升级完成,nginx -V会有新的清除模块参数.我们可以使用了。

版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/yt_php/article/details/88044257
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2021-05-17 03:21:08
  • 阅读 ( 1851 )
  • 分类:Go Web框架

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢