Nginx之Openresty基本使用解读
目录
Openresty基本介绍
OpenResty是一个基于 Nginx 与 Lua 的高性能 Web 平台,其内部集成了大量精良的 Lua 库、第三方模块以及大多数的依赖项。用于方便地搭建能够处理超高并发、扩展性极高的动态 Web 应用、Web 服务和动态网关。
OpenResty 官网地址:https://openresty.org/cn/。
OpenResty主要包含两方面的技术:
- Nginx: 一个免费的、开源的、高性能的 HTTP 服务器和反向代理,也是一个电子邮件(IMAP/POP3/SMTP)代理服务器。有关Nginx的介绍,可以查看这篇《Nginx架构原理科普》。
- Lua: 一种轻量、小巧、可移植、快速的脚本语言;LuaJIT即时编译器会将频繁执行的Lua代码编译成本地机器码交给CPU直接执行,执行效率更高,OpenResty会默认启用LuaJIT。
Openresty源码编译安装
下载地址:
最小版本基于nginx1.21
然后在进入 openresty-VERSION/
目录, 然后输入以下命令配置:
默认, --prefix=/usr/local/openresty 程序会被安装到/usr/local/openresty目录。
依赖 gcc openssl-devel pcre-devel zlib-devel
安装:yum install gcc openssl-devel pcre-devel zlib-devel postgresql-devel
可以指定各种选项,比如:
启动
或者
停止
Openresty基本使用
测试lua脚本
外部分文件导入
如果想不在配置文件写lua,可以引入lua文件:nginx目录下的lua/hello.lua
创建配置文件lua.conf(没必要采用引入方式,直接在nginx配置文件中写location /lua 即可)
关闭缓存,开启热部署
nginx+lua开发时因为已经加载进内存,修改lua脚本不会起作用,这样不方便调试。nginx配置中将lua_code_cache配置成on/off来控制是否关闭lua 的cache缓存,如果设置为off.则每次修改lua脚本都会重新加载新的lua代码,从而实现快速调试响应。同时状态为off时启动或重启nginx都会提示:nginx: [alert] lua_code_cache is off; this will hurt performance in /path/to/nginx.conf。因为这会影响nginx性能表现。
用lua代码获取系统变量
http协议版本
请求方法
原始的请求头内容
body内容体
获取Nginx请求头信息
获取post请求参数
- 点赞
- 收藏
- 关注作者
评论(0)