OpenResty是一个基于 Nginx 与 Lua 的高性能 Web 平台,其内部集成了大量精良的 Lua 库、第三方模块以及大多数的依赖项。用于方便地搭建能够处理超高并发、扩展性极高的动态 Web 应用、Web 服务和动态网关。Web 开发人员可以使用 Lua 脚本语言调动 Nginx 支持的各种 C 以及 Lua 模块,更主要的是在性能方面,OpenResty可以 快速构造出足以胜任 10K 以上并发连接响应的超高性能 Web 应用系统。
1、安装OpenResty所需要的依赖库
yum install pcre-devel openssl-devel gcc curl
2、下载OpenResty源码包到本地
cd /usr/local/
mkdir source
cd source/
wget https://openresty.org/download/openresty-1.19.9.1.tar.gz
3、解压源码包
tar -zxvf openresty-1.19.9.1.tar.gz
进入解压后的文件夹:cd openresty-1.19.9.1/
这次不用看README文件了,因为OpenResty是由中国人章亦春院士发起,可以直接去中文官网查看详细的教程OpenResty® – 中文官方站
4、编译源码及安装
./configure,执行完这步默认程序会被安装到 /usr/local/openresty/ 目录下
make
make install
5、启动OpenResty
进入到OpenResty安装目录下:cd /usr/local/openresty/
看到OpenResty已经将nginx和lua集成好了,进入bin目录下:cd bin/
可以看到,其实OpenResty的启动其实就是将所集成的Nginx服务启动即可
cd ../nginx/sbin/
./nginx
访问Nginx服务
6、运行Lua脚本
编辑OpenResty中的Nginx配置文件:
cd /usr/local/openresty/nginx/conf/
vim nginx.conf
Lua脚本代码可以直接写在Nginx配置文件中执行
重启Nginx服务,访问 http://${Nginx服务地址}$/lua,结果发现浏览器下载了个文件,打开下载的文件后看到:
这起码证明了配置和代码没啥问题,那么就需要告诉浏览器怎么读取Nginx返回的数据:
使用content_by_lua写起来很不方便,一次只能写一句,想要写很多代码怎么办?使用content_by_lua_block
修改Nginx配置文件
重启Nginx服务并访问
7、将Lua脚本解耦成文件引入Nginx
进入OpenResty Nginx配置文件目录中,新建一个Lua脚本文件
cd /usr/local/openresty/nginx/conf/
vim lua_script_001.lua
修改Nginx配置文件
重启Nginx服务并访问
再进一步,将所有关于Lua的都写到一个conf文件中
vim lua.conf
修改Nginx配置文件
重启Nginx服务并访问
8、对Lua脚本进行热部署
修改Nginx配置文件
Lua脚本的热部署是基于Lua外部文件来实现的,也就是说使用content_by_lua和content_by_lua_block是无法实现Lua的热部署!
重启Nginx服务并访问会看到这个热部署会影响到Nginx的性能
Nginx服务启动之后,只要修改Lua文件中的脚本,不需重启Nginx服务即可生效
9、Lua脚本获取Nginx中数据
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/111918.html