Nginx 集成 lua 脚本|学习笔记

简介: 快速学习 Nginx 集成 lua 脚本

开发者学堂课程【大数据实战项目:反爬虫系统(Lua+Spark+Redis+Hadoop 框架搭建)第一阶段Nginx 集成 lua 脚本】学习笔记,与课程紧密联系,让用户快速学习知识。  

课程地址:https://developer.aliyun.com/learning/course/669/detail/11606


Nginx 集成 lua 脚本

 

内容介绍

一.掌握 Nginx 集成 lua 的两种方式

二.总结

 

一. 掌握 Nginx 集成 lua 的两种方式

1. helloWorld

openresty1.9.3.1及以下版本,请使用 content_by_lua 命令;在 openresty1.9.3.2以上,content_by_lua 改成了 content_by_lua_block。可使用 nginx-V 命令查看版本号

首先,回到环境中:

 图片1.png

打开这个页面:图片2.png

这时 Nginx 自己的服务,lua 脚本的环境已经准备好,那么如何将 Nginx 和 lua 联系起来呢?

修改配置文件:

nginz 的配置文件 nginx.conf 中添加下列信息,然后执 nginx-s reload。

location/{

#root html;

#index index.html index.htm;

default_type text/html;

content_by_lua_block {

ngx.say("hello world");

}

}

图片3.png

[root@clintnode conf]#vi nginx.conf

图片4.png

找到 location,输入:

图片5.png

然后保存,用 block 的方式进行了输出。

将界面刷新,还是:

图片6.png

那么如何看到我们输出的 hello nginx 呢?每一次修改配置完,都需要重启 nginx:

图片7.png

重启后再来刷新这个界面,会提示一个下载的操作:

图片8.png是因为上面省略了一步,现在补上来解决这个问题:保存后重复重启操作,再次刷新界面:
图片9.png

这就是 nginx 集成方式的输出。

2. 123456789

如果是脚本集成要怎么办呢?我们也可以使用 content_by_lua_file 来引入一个 lua文件:

location/{

#root html;

#index index.html index.htm;

default_type text/html;

content by lua file /usr/local/openresty/nginx/conf/my.lua;

}

找到配置文件:

图片10.png

输入完 content_by_lua_file, 跟一个绝对路径,绝对路径到新的克隆的里面找:

图片11.png

做一个输出,在 lua 的脚本里:

Ngx.say(123456789),然后保存,绝对路径如图绿色框中:

图片12.png

将绝对路径复制,在配置文件中粘贴,把刚刚的脚本文件 test10 也粘贴,这样配置好的 lula 脚本就配置到了 nginx 文件当中。保存,再重启 nginx,没有报错:

再来刷新界面,就变成了:

图片13.png

这样就基本实现了 lua 脚本与 nginx 的配置文件的集成。

以上就是我们要学习的 lua 脚本与 nginx 的配置文件的集成的两种方法。

 

二. 总结

目标:掌握 Nginx 集成 Lua 的两种方式

1、第一种方式:通过代码块的方式集成

content_by_lua_block{

ngx.say("hello world")}

2、第二种方式:通过引入脚本的方式

content_by_lua_file /usr/local/openresty/test/mytest.lua

相关文章
|
11天前
|
监控 安全
公司用什么软件监控电脑:Lua 脚本在监控软件扩展功能的应用
在企业环境中,电脑监控软件对保障信息安全、提升效率至关重要。Lua 脚本在此类软件中用于扩展功能,如收集系统信息、监控软件使用时长及文件操作,向指定服务器发送数据,支持企业管理和运营。
29 6
|
2月前
|
存储 Java C++
lua完整学习笔记
Lua学习笔记,涵盖了Lua的注释、数据结构、标识符、保留字、变量、运算符、函数、流程控制语句、循环语句、table的使用、迭代器以及模块化等基础知识点。
60 3
lua完整学习笔记
|
2月前
|
缓存 分布式计算 NoSQL
大数据-43 Redis 功能扩展 Lua 脚本 对Redis扩展 eval redis.call redis.pcall
大数据-43 Redis 功能扩展 Lua 脚本 对Redis扩展 eval redis.call redis.pcall
37 2
|
3月前
|
存储 JSON Ubuntu
如何使用 Lua 脚本进行更复杂的网络请求,比如 POST 请求?
如何使用 Lua 脚本进行更复杂的网络请求,比如 POST 请求?
|
4月前
|
jenkins 持续交付
jenkins学习笔记之六:共享库方式集成构建工具
jenkins学习笔记之六:共享库方式集成构建工具
|
4月前
|
Java jenkins Shell
jenkins学习笔记之五:Maven、Ant、Gradl、Node构建工具集成
jenkins学习笔记之五:Maven、Ant、Gradl、Node构建工具集成
|
4月前
|
jenkins 持续交付
jenkins学习笔记之九:jenkins认证集成github
jenkins学习笔记之九:jenkins认证集成github
|
4月前
|
安全 jenkins 持续交付
jenkins学习笔记之八:jenkins认证集成gitlab
jenkins学习笔记之八:jenkins认证集成gitlab
|
4月前
|
jenkins Devops 持续交付
jenkins学习笔记之七:jenkins集成LDAP用户认证
jenkins学习笔记之七:jenkins集成LDAP用户认证
|
4月前
|
存储 NoSQL Redis
Tair的发展问题之在Redis集群模式下,Lua脚本操作key面临什么问题,如何解决
Tair的发展问题之在Redis集群模式下,Lua脚本操作key面临什么问题,如何解决