背景:
需要在nginx上实现限流功能,nginx本身的限流功能不支持动态更新限流规则,这里需要能根据页面本身配置对限流规则进行动态更新,了解到OpenResty可以与lua进行结合使用,实现相对来说比较复杂的限流功能。
OpenResty介绍:
OpenResty(又称:ngx_openresty) 是一个基于 NGINX 的可伸缩的 Web 平台,由中国人章亦春发起,提供了很多高质量的第三方模块。
OpenResty 是一个强大的 Web 应用服务器,Web 开发人员可以使用 Lua 脚本语言调动 Nginx 支持的各种 C 以及 Lua 模块,更主要的是在性能方面,OpenResty可以 快速构造出足以胜任 10K 以上并发连接响应的超高性能 Web 应用系统。
MAC上安装OpenResty
这里使用brew命令
brew tap openresty/brew
brew install openresty
安装成功后配置目录(主要是nginx.conf文件)
/opt/homebrew/etc/openresty
启动/停止(这里使用的是默认配置文件)
brew services start openresty
brew services stop openresty
brew services restart openresty
启动成功截图
启动成功后,默认端口:80,在nginx.conf文件中配置端口号
浏览器访问地址:
localhost:80
到这里,OpenResty的安装步骤就完成了,接下来,只要会基本的lua语法,就可以实现功能了
lua语法学习
基本的语法学习可以在菜鸟教程上进行学习
lua学习菜鸟教程地址
这里可以使用idea编辑器进行demo练习,需要安装EmmyLua插件
安装完成后,创建一个.lua文件,就可以进行练习了
有了这些环境和基础后,就可以进行关于nginx限流功能的开发了
欢迎关注我的公众号,后续会陆续更新使用OpenResty进行限流的具体实现逻辑和相关代码