`
liyonghui160com
  • 浏览: 762261 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

nginx openresty组件介绍

阅读更多

 

 

---------------------缓存:

 

1、php的fastcgi缓存 fastcgi_cache

见上面配置:php fastcgi的缓存:

http://www.360doc.com/content/15/0816/14/552866_492084033.shtml

https://zhangge.net/5042.html

https://github.com/FRiCKLE/ngx_cache_purge/

 

 

 

2、缓存代理页面 proxy_pass_cache

见上面配置:proxy代理缓存

实现:本地文件的形式

http://www.open-open.com/lib/view/open1431254539701.html

https://www.aliyun.com/zixun/content/3_12_518236.html

 

 

3、proxy_cache的配置,可以通过挂载一块内存作为缓存的存储空间。

参考http://nginx.org/cn/docs/http/ngx_http_proxy_module.html。 

 

4、nginx的ngx.var.dict+lock实现  减少对后段服务的访问。解决缓存失效风暴

实现:redis,mem

 

lua-resty-lock锁机制

for-cache-locks避免雪崩

https://github.com/openresty/lua-resty-lock#for-cache-locks

 

主动异步过期缓存

https://github.com/lloydzhou/lua-resty-cache

 

srcache-nginx-module

https://github.com/openresty/srcache-nginx-module

这个模块支持和另一个模块配合将页面缓存写入redis集群

https://segmentfault.com/a/1190000003874328

 

 

5、resty.lrucache  lua自身代码实现的cache

 

local lrucache = require "resty.lrucache"

 

-- we need to initialize the cache on the lua module level so that

-- it can be shared by all the requests served by each nginx worker process:

local c = lrucache.new(200)  -- allow up to 200 items in the cache

if not c then

return error("failed to create the cache: " .. (err or "unknown"))

end

 

function _M.go()

c:set("dog", 32)

c:set("cat", 56)

ngx.say("dog: ", c:get("dog"))

ngx.say("cat: ", c:get("cat"))

 

c:set("dog", { age = 10 }, 0.1)  -- expire in 0.1 sec

c:delete("dog")

end

 

 

文档:https://github.com/openresty/lua-resty-lrucache

 

 

 

注意:

修改系统内核的修改通过设置如下参数来设置内存阀值

sysctl -w vm.extra_free_kbytes=6436787

sysctl -w vm.vfs_cache_pressure=10000

 

 

分享到:
评论

相关推荐

    基于带有API的NGINX OpenResty的动态反向代理-Python开发

    Ceryx-坚固,可编程的HTTP(S)反向代理Ceryx是坚固,可编程的反向代理,用于为成千上万的SourceLair项目提供其独特的,启用HTTPS的公共URL。...代理Ceryx在后台使用NGINX OpenResty路由请求,基于

    ceryx:基于NGINX OpenResty和API的动态反向代理

    Ceryx在后台使用NGINX OpenResty来路由请求,该请求基于HTTP请求的Host标头或HTTPS请求中的。 Ceryx查询Redis后端,以确定它将每个请求路由到哪个目标。 API Ceryx API使用户可以通过任何HTTP客户端动态创建,更新...

    nginx+lua简要说明

    在互联网公司,Nginx可以说是标配组件,但是主要场景还是负载均衡、反向代理、代理缓存、限流等场景;而把Nginx作为一个Web容器使用的还不是那么广泛。Nginx的高性能是大家公认的,而Nginx开发主要是以C/C++模块的...

    Web应用服务器 OpenResty.zip

    OpenResty (也称为 ngx_openresty)是一个全功能的 ...因为 OpenResty 软件包的维护者也是其中打包的许多 Nginx 模块的作者,所以 OpenResty 可以确保所包含的所有组件可以可靠地协同工作。 标签:nginx

    跟我学Nginx+Lua开发

    而且OpenResty提供了大量组件如Mysql、Redis、Memcached等等,使在Nginx上开发Web应用更方便更简单。目前在京东如实时价格、秒杀、动态服务、单品页、列表页等都在使用Nginx+Lua架构,其他公司如淘宝、去哪儿网等。

    openresty:基于Nginx和LuaJIT的高性能Web平台

    OpenResty-将Nginx变成完整的可编写脚本的Web平台 目录 描述 OpenResty是一个成熟的Web应用程序服务器,它捆绑了标准的nginx核心,许多第三方的nginx模块以及它们的大多数外部依赖项。 此捆绑包由Yichun Zhang...

    stream-lua-nginx-module:将Lua的功能嵌入NGINX TCPUDP服务器

    该模块是OpenResty的核心组件。 如果您使用的是此模块,则实际上是在使用OpenResty。 该模块不随Nginx源一起分发。 请参阅。 目录 代码库 错误和补丁 致谢 版权和许可 也可以看看 地位 生产准备就绪。 版本 本...

    LuaWeb:一个非常简单的博客引擎,使用 openresty、nginx、lua、markdown、git 和 redis

    这可以使用 lua 实现,因为有一个 nginx lua 模块可以让您从 nginx conf 调用 lua。 查看,了解更多关于它可以让你做什么的信息。 Lua 最酷的地方之一是它的速度,请查看 完整的堆栈:组件超快和精益的脚本语言。 ...

    基于Docker的一键LNMP安装程序

    DNMP(Docker + Nginx/Openresty + MySQL5,8 + PHP5,7,8 + Redis + ElasticSearch + MongoDB + RabbitMQ)是一款全功能的LNMP一键安装程序,为用户提供了在Arm CPU架构上部署和管理Web应用所需的所有组件。...

    openrestary.zip

    主要是liunx版本的openresty安装包和两个组件安装包。网上比较难下,收集起来放到一起了。openresty-1.15.8.3.tar.gz、ngx_cache_purge-2.3.tar.gz、nginx_upstream_check_module-0.3.0.tar.gz

    lua-nginx-module:将Lua的功能嵌入NGINX HTTP服务器

    该模块是的核心组件。 如果您使用的是此模块,则实际上是在使用OpenResty。 该模块不随Nginx源一起分发。 请参阅。 目录 状态 生产准备就绪。 版本 本文档介绍了ngx_lua ,该版本于2020年11月3日发布。 影片 ...

    开涛高可用高并发-亿级流量核心技术

    第1部分概述 1 1 交易型系统设计的一些原则 2 1.1 高并发原则 3 1.1.1 无状态 3 1.1.2 拆分 3 1.1.3 服务化 4 1.1.4 消息队列 4 ...21.6.1 基础组件 430 21.6.2 商品介绍 432 21.6.4 前端展示 434 21.6.5 测试 442

    Java思维导图xmind文件+导出图片

    基于OpenResty部署应用层Nginx以及Nginx+lua实战 Nginx反向代理服务器及负载均衡服务器配置实战 利用keepalived+Nginx实战Nginx高可用方案 基于Nginx实现访问控制、连接限制 Nginx动静分离实战 Nginx Location...

    Amatyr:使用d3 js,watch js,铆钉js,lua,postgresql,nginx的业余天气图

    前端组件D3 js jQuery的铆钉js 观看js 路径js 风玫瑰图Bootstrap CSS + JS 来自Wan Qi Chen的Cal-Heatpmap 后端组件Openresty(nginx + luajit) PostgreSQL将天气数据导入SQL 前端与后端有些松散地耦合,但是它通过...

    java中solr的笔试题-note:个人学习信息

    包含如下组件 nginx lvs openresty kong apigateway 消息中间件 对于消息中间件,需要熟练使用,对于常见问题场景,需要有对出现问题的解决方案,比如消息丢失、消息不消费、延迟比较大等方面应对方案,深入了解数据...

    单点登录源码

    各个子系统前台thymeleaf模板,前端资源模块,使用nginx代理,实现动静分离。 > zheng-upms 本系统是基于RBAC授权和基于用户授权的细粒度权限控制通用平台,并提供单点登录、会话管理和日志管理。接入的系统可自由...

Global site tag (gtag.js) - Google Analytics