OpenResty入门
概述
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并不是个“单块”(Monolithic)的程序,而是由众多设计精良的组件集合而成的,这些组件可以灵活组装或拆卸,共同搭建起了完整的高性能服务器开发环境。
核心组件:
- Nginx
- LuaJit:Lua语言解释器
- ngx_lua:处理http协议,让lua程序嵌入在Nginx里运行
- stream_lua:处理tcp/udp协议
安装
采用源码安装。
安装依赖
1 | yum -y install readline-devel pcre-devel openssl-devel gcc gcc-c++ postgresql-devel geoip-devel |
下载解压
1 | cd /opt |
编译安装
1 | cd openresty-1.19.3.1 |
验证
新增一个location:
1 | location /hello_lua { |
启动nginx
1 | /opt/openresty/bin/openresty |
验证
1 | [root@test ~]# curl 127.0.0.1/hello_lua |
ngx_lua相关指令
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 时间之旅!
评论