[nginx] OpenResty 学习手册
OpenResty
Installation
Find tar.gz :
https://openresty.org/cn/download.html
tar -xzvf openresty-VERSION.tar.gz
cd openresty-VERSION
./configure --with-luajit
make
make install
use which nginx to ensure nginx command is directing to /usr/local/openresty/nginx/sbin/nginx, if it is /usr/sbin/nginx, will raise a exception (not support for lua module).
Reference
https://wdicc.com/intro-openresty/
openresty 在淘宝量子统计的应用非常广泛。另外在 去哪网 也有不少应用,比如我知道的安全过滤模块,和一些数据报表,都是基于 openresty 的。
LuaJIT – 极速版Lua实现 ArrayVarNginxModule – 数组类型的Nginx变量 AuthRequestNginxModule – 鉴权,想象一下以C代码的速度判断一个请求是否合法,是不是很有快感呢?!
- ArrayVarNginxModule – 数组类型的Nginx变量
- AuthRequestNginxModule – 鉴权,想象一下以C代码的速度判断一个请求是否合法,是不是很有快感呢?!
- DrizzleNginxModule – Nginx-MySQL桥,非阻塞的哦,我又爱又恨的一个模块,值得注意的是,其响应是RDS流
- EchoNginxModule – 以非常直观的方式在Nginx配置文件中编写简单的处理逻辑
- EncryptedSessionNginxModule – 加密会话
- FormInputNginxModule – 解析post请求中的参数,这下子,简单请求根本不需要PHP/Java来处理啦
- HeadersMoreNginxModule – Nginx默认的header模块只能添加或忽略,这个给你CRUD全套的!!
- IconvNginxModule – 编码转换
- StandardLuaInterpreter – 与Lua官方实现所匹配,一般用不上,因为我们用LuaJIT!!
- MemcNginxModule – 与Memcached的绝配,谁用谁知道!! 与upstram_keepalive一起用,你能更High!!
- Nginx NginxDevelKit – N多第三方插件都依赖的东西,不知道为啥 提供一些方便使用的基础API封装
- LuaCjsonLibrary – Lua版的Json处理库实在太慢,这个才叫速度!!
- LuaNginxModule – 我的最爱,一般逻辑,完全没必要用Java/PHP啦
- LuaRdsParserLibrary – 在Lua中直接处理RDS流,速度杠杠的!
- LuaRedisParserLibrary – 在Lua中处理Redia模块的响应
- PostgresNginxModule – Nginx-Postgres桥,输出的也是RDS流
- RdsCsvNginxModule – RDS流转CVS格式,不知道能干啥,报表?
- RdsJsonNginxModule – RDS流转JSON字符串,之前经常用这个
- Redis2NginxModule – Nginx-Redis2桥
- SetMiscNginxModule – 提供很多很实用的方法,例如base64编解码,URL编解码,SQL防注入等等
- SrcacheNginxModule – 缓存模块,据说跟Memc模块一起用比较爽
- UpstreamKeepaliveNginxModule – 与Memc模块的标配,号称性能提升几倍呢
- XssNginxModule – 防跨站攻击的 通过Jsonp进行跨站ajax编程
[nginx] OpenResty 学习手册的更多相关文章
- 神器 Nginx 的学习手册 ( 建议收藏 )
关注「开源Linux」,选择"设为星标" 回复「学习」,有我为您特别筛选的学习资料~ Nginx 是一个高性能的 HTTP 和反向代理服务器,特点是占用内存少,并发能力强,事实上 ...
- nginx+lua学习
1. nginx+lua学习 1.1. 网关架构 1.2. nginx命令和信号控制 nginx -s stop 快速关闭,不管有没有正在处理的请求 nginx -s quit 优雅关闭方式,推出前完 ...
- 使用NGINX+Openresty和unixhot_waf开源防火墙实现WAF功能
使用NGINX+Openresty实现WAF功能 一.了解WAF1.1 什么是WAF Web应用防护系统(也称:网站应用级入侵防御系统 .英文:Web Application Firewall,简称: ...
- openresty 学习笔记小结:综合应用实例
openresty 学习笔记小结:综合应用实例 这个综合实验实现的功能其实很简单,用户访问一个页面,显示一个默认页面.输入参数(post或者get都可以),如果参数在数据库查询得到并满足一定条件,根据 ...
- openresty 学习笔记六:使用session库
openresty 学习笔记六:使用session库 lua-resty-session 是一个面向 OpenResty 的安全和灵活的 session 库,它实现了 Secure Cookie Pr ...
- openresty 学习笔记四:连接mysql和进行相关操作
openresty 学习笔记四:连接mysql和进行相关操作 毕竟redis是作为缓存,供程序的快速读写,虽然reidis也可以做持久化保存,但还是需要一个做数据存储的数据库.比如首次查询数据在red ...
- openresty 学习笔记一:环境安装
openresty 学习笔记一:环境安装 openresty 是一个基于 Nginx 与 Lua 的高性能 Web 平台,其内部集成了大量精良的 Lua 库.第三方模块以及大多数的依赖项.用于方便地搭 ...
- Redis学习手册(目录)
为什么自己当初要选择Redis作为数据存储解决方案中的一员呢?现在能想到的原因主要有三.其一,Redis不仅性能高效,而且完全免费.其二,是基于C/C++开发的服务器,这里应该有一定的感情因素吧.最后 ...
- git学习手册
#git学习手册 git: Git是一个开源的分布式版本控制系统,可以有效.高速的处理从很小到非常大的项目版本管理.[2] Git 是 Linus Torvalds 为了帮助管理 Linux内核开发而 ...
随机推荐
- Interview Question Overload、Refactoring和Override?
Overload Overload我们百度翻译知道是超载的意思,不过我们一般称其为重载,在这里我们不纠结于它的翻译,我们来讲讲重载是什么意思,重载的好处.在下面我们以Overload来代表重载(为了记 ...
- 为什么需要Vlan ? Vlan实现原理 ? 不同Vlan的通信 ?
好文章!!良心推荐!!! 原文链接 https://blog.csdn.net/cwm_meng_home/article/details/49762807
- 如何在Vue中使用Mockjs模拟数据的增删查改
之前一直使用json-server在前端开发时,搭建本地数据接口测试,但有时又需要将做好的项目放于 github page上做项目演示.在本地时,json server很好使用,但一旦放在github ...
- Java的内存--存储(1)
有次去面试,面试官突然问我这个问题,当时我只知道怎么写最优化,但是具体不知道为什么那样写,身价立马下降哦 1. 以下开发习惯,你怎么看? for(int i=0;i<2;i++){ Person ...
- JavaScript中BOM的基础知识总结
一.什么是BOM BOM(Browser Object Model)即浏览器对象模型. BOM提供了独立于内容 而与浏览器窗口进行交互的对象: 由于BOM主要用于管理窗口 ...
- 肝题与oj
oier很多,oj也很多,这些oj分别有怎样的特点,我们又该怎样选择呢?请各位客官听在下分解 (我主要说一些比较大众的oj) (注意:难度与界面友好度为个人意见,不喜勿喷) 1.入门级 1.NOIop ...
- Golang定时器断续器
定时器 1.定时器结构 结构定义 type Timer struct { C <-chan Time // 接受定时器事件的通道 r runtimeTimer } type runtimeTim ...
- MySQL版本详解
一.版本说明 1.1.MySQL相关连接 MySQL官网:https://www.mysql.com/ MySQL下载:https://dev.mysql.com/downloads/mirrors/ ...
- FROM_UNIXTIME
FROM_UNIXTIME 格式化MYSQL时间戳函数 函数:FROM_UNIXTIME作用:将MYSQL中以INT(11)存储的时间以"YYYY-MM-DD"格式来显示.语法 ...
- python基础小知识,is和==的区别,编码和解码
1.is和==的区别 1)id() 通过id()我们可以查看到一个变量表示的值在内存中的地址 >>> s1 = "Tanxu" >>> s2 = ...