点赞
评论
收藏
分享
举报
NGINX平滑升级和清除缓存
发表于2021-02-01 12:53

浏览 3.5k

一、清除缓存
某些时候我们如果不想等待缓存的过期,想要主动清除缓存,可以采用第三方的缓存清除模块清除缓存nginx_ngx_cache_purge
第三方地址 https://www.nginx.com/resources/wiki/modules/
Purge 模块下载地址 http://labs.frickle.com/nginx_ngx_cache_purge/
可以利用平滑升级的方式安装

proxy_cache_purge
syntax: proxy_cache_purge zone_name key
default: none
context: location

注意:要在proxy_cache 指令下方

proxy_cache_purge tmp-test $uri;
tmp-test:指定的key_zone
$uri:指定的生成key的参数;与缓存key生成对应:默认值: proxy_cache_key s c h e m e schemeschemeproxy_host$request_uri;
比如:匹配url当中包含了purge关键字的就清除
缓存 xxx.com/cache/shop/?a=1
清除 xxxx.com/purge/shop/?a=1
二、平滑升级
所谓半自动,其实就是在最后迁移的时候使用源码自带的升级命令:make upgrade 来自动完成
1、需要下载对应的需要加载的第三方的扩展,或者是需要附加设置的参数 (注意:之前的配置参数要保留)
–add_module=PATH 添加第三方扩展
2、执行make不要执行make install
3、重命名 nginx 旧版本二进制文件,即 sbin 目录下的 nginx(期间 nginx 并不会停止服务)
4、然后拷贝一份新编译的二进制文件到安装目录
5、在源码目录执行 make upgrade 开始升级:
在这里插入图片描述

已修改于2023-03-06 02:25
创作不易,留下一份鼓励
守望

暂无个人介绍

关注



写下您的评论
发表评论
全部评论(0)

按点赞数排序

按时间排序

关于作者
守望
这家伙很懒还未留下介绍~
89
文章
0
问答
18
粉丝
相关文章
前言nginx系列之一:nginx入门nginx系列之二:配置文件解读nginx系列之三:日志配置nginx系列之四:web服务器nginx系列之五:负载均衡nginx系列之六:cache服务nginx系列之七:限流配置nginx系列之八:使用upsync模块实现负载均衡转自:在此感谢原博主的整理分享一、nginxreload的问题问题描述nginxreload是有一定损耗的,如果你使用的是长连接的话,那么当reloadnginx时长连接所有的worker进程会进行优雅退出,并当该worker进程上的所有连接都释放时,进程才真正退出。解决办法对于社区版nginx目前有三个选择方式:Tengine的Dyups模块。微博的Upsync+Consul实现动态负载均衡。OpenResty的balancer_by_lua(又拍云使用其开源的slardar(Consulbalancer_by_lua))。本文使用upsync模块来解决配置文件修改后,reloadnginx进程造成性能下降的问题。它的功能是拉取consul的后端server的列表,并更新Nginx的路由信
点赞 4
浏览 10.3k
谈到Redis缓存,我们描述其性能时会这么说:支持1万并发连接,几万QPS。而我们描述Nginx的高性能时,则会宣示:支持C10M(1千万并发连接),百万级QPS。Redis与Nginx同样使用了事件驱动、异步调用、Epoll这些机制,为什么Nginx的并发连接会高出那么多呢?(本文不讨论Redis分布式集群)这其实是由进程架构决定的。为了让进程占用CPU的全部计算力,Nginx充分利用了分时操作系统的特点,比如增加CPU时间片、提高CPU二级缓存命中率、用异步IO和线程池的方式回避磁盘的阻塞读操作等等,只有清楚了Nginx的这些招数,你才能将Nginx的性能最大化发挥出来。为了维持Worker进程间的负载均衡,在1.9.1版本前Nginx使用互斥锁,基于八分之七这个阈值维持了简单、高效的基本均衡。而在此之后,使用操作系统提供的多ACCEPT队列,Nginx可以获得更高的吞吐量。本文将会沿着高性能这条主线介绍Nginx的Master/Worker进程架构,包括进程间是如何分担流量的,以及默认关闭的多线程模式又是如何工作的。同时,本文也是Nginx开源社区基础培训系列课程第一季,即6月1
点赞 11
浏览 6.4k
概述上篇文章,我们介绍了NGINX变量的基本特性。本篇,我们继续分析变量的实现原理,来分析变量是如何被定义以及如果被使用的。因为NGINX变量本身支持变量插入,比如set$abc${host}abc{url}类型的变量。这种复杂变量abc的求值也是NGINX变量实现的一个特色和难点。对于这个复杂变量求值,我们将在下一篇分析脚本语言实现时进行分析。数据结构针对每一个变量,NGINX内部对应有两个数据结构,一个是NGX_HTTP_VARIABLE_S用来存储变量的名称等信息,另外一个是NGX_HTTP_VARIABLE_VALUE_S用来存储变量的本身的值。其中NGX_HTTP_VARIABLE_VALUE_S结构只存在于每一个具体的请求中。1.
点赞 3
浏览 6.4k