lnmp架构(四)——利用OpenResty实现nginx缓存前移(将memcache移到nginx前端层面)

本文介绍了OpenResty,一个基于Nginx与Lua的高性能Web平台,用于构建高性能动态Web应用。通过OpenResty,可以直接在Nginx内部进行数据库访问,提高应用性能。文章详细讲解了如何利用OpenResty将Memcache集成到Nginx,实现缓存前移,减少了对第三方语言的依赖,提升了响应速度。
摘要由CSDN通过智能技术生成

一、什么是openresty?

OpenResty(又称: ngx_ openresty) 是一个基于NGINX的可伸缩的Web平台,由中国人章亦春发起,提供了很多高质歌的第三方模块。

OpenResty是一个基于 NginxLua 的高性能 Web 平台,其内部集成了大量精良的 Lua 库、第三方模块以及大多数的依赖项。用于方便地搭建能够处理超高并发、扩展性极高的动态 Web 应用、Web 服务和动态网关。 通过汇聚各种设计精良的 Nginx 模块(主要由 OpenResty 团队自主开发),从而将 Nginx 有效地变成一个强大的通用 Web 应用平台。这样,Web 开发人员和系统工程师可以使用 Lua 脚本语言调动 Nginx 支持的各种 C 以及 Lua 模块,快速构造出足以胜任 10K 乃至 1000K 以上单机并发连接的高性能 Web 应用系统。

OpenResty的目标是让web服务直接运行在Nginx服务内部,利用Ngnix的非阻塞IO模型,对HTTP客户端请求和后端DB进行一致的高性能响应

OpenResty访问Mysq|或Redis等,而不需要通过第三方语言( PHP、Python、Ruby )等来访问数据库再返回,这大大提高了应用的性能。

参考openresty中文官网http://openresty.org/cn

1、运行原理

在这里插入图片描述
Nginx 采用的是 master-worker 模型,一个 master 进程管理多个 worker 进程

  • woker负责基本事件的处理
  • master 负责一些全局初始化,以及对 worker 的管理

在OpenResty中,每个 woker 使用一个 LuaVM,当请求被分配到 woker 时,将在这个 LuaVM 里创建一个 coroutine(协程)协程之间数据隔离,每个协程具有独立的全局变量_G

二、利用OpenResty给nginx添加memcache(缓存前移的实现)

在上一篇博客lnmp架构(三)中,我们给php添加了memcache模块,现在我们利用OpenResty给nginx添加memcache模块,这样不用等待第三方返回,大大提高了应用的性能。

实验环境

主机(版本:ip) 功用
虚拟机server1(rhel7.3:172.25.16.1) lnmp环境主机
真机(rhel7.3:172.25.16.250) 测试机

我们先关闭之前配置好的nginx,因为openresty是一个类似于nginx的服务,调用都是80端口。
在这里插入图片描述
step1 解压并源码编译openresty源码包:

tar zxf openresty-1.13.6.</
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值