1.1 简介
在官网上对OpenResty是这样介绍的(http://openresty.org):
“OpenResty是一个基于Nginx与Lua的高性能Web平台,其内部集成了大量精良的Lua库、第三方模块以及大多数的依赖项。用于方便地搭建能够处理超高并发、扩展性极高的动态Web应用、Web服务和动态网关。
“OpenResty通过汇聚各种设计精良的Nginx模块(主要由OpenResty团队自主开发),从而将Nginx有效地变成一个强大的通用Web应用平台。这样,Web开发人员和系统工程师可以使用Lua脚本语言调动Nginx支持的各种C以及Lua模块,快速构造出足以胜任10K乃至1000K以上单机并发连接的高性能Web应用系统。
“OpenResty的目标是让你的Web服务直接跑在Nginx服务内部,充分利用Nginx的非阻塞I/O模型,不仅仅对HTTP客户端请求,甚至于对远程后端诸如MySQL、PostgreSQL、Memcached以及Redis等都进行一致的高性能响应。”
从这段描述里我们可以知道,OpenResty以Nginx为核心,集成打包了众多侧重于高性能Web开发的外围组件,它既是一个Web Server,也是一个成熟完善的开发套件。
OpenResty基于Nginx和Lua/LuaJIT,充分利用了两者的优势,能够无阻塞地处理海量并发连接,任意操纵HTTP/TCP/UDP数据流,而且功能代码不需要编译,可以就地修改脚本并运行,简化了开发流程,加快了开发和调试的速度,同时也缩短了开发周期,在如今这个快节奏的时代里弥足珍贵。
更广义地来看,OpenResty不仅仅是一个单纯的Web服务开发套件。经过多年的发展,围绕着OpenResty已经聚集了很多的个人用户和商业公司,开发出大量的第三方库和应用框架,每年还会定期举办技术研讨会——这些都标志着OpenResty已经成长为了一个活跃的开源社区和完整的生态环境。