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

相关文章
|
DataWorks Oracle 关系型数据库
DataWorks产品使用合集之手动添加上了,但是同步过来的数据这个字段依然显示为空,是什么原因
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
279 3
|
存储 Java C++
lua完整学习笔记
Lua学习笔记,涵盖了Lua的注释、数据结构、标识符、保留字、变量、运算符、函数、流程控制语句、循环语句、table的使用、迭代器以及模块化等基础知识点。
382 3
lua完整学习笔记
|
jenkins 持续交付
jenkins学习笔记之六:共享库方式集成构建工具
jenkins学习笔记之六:共享库方式集成构建工具
|
Java jenkins Shell
jenkins学习笔记之五:Maven、Ant、Gradl、Node构建工具集成
jenkins学习笔记之五:Maven、Ant、Gradl、Node构建工具集成
|
应用服务中间件 Linux nginx
FFmpeg开发笔记(四十)Nginx集成rtmp模块实现RTMP推拉流
《FFmpeg开发实战》书中介绍了如何使用FFmpeg向网络推流,简单流媒体服务器MediaMTX不适用于复杂业务。nginx-rtmp是Nginx的RTMP模块,提供基本流媒体服务。要在Linux上集成rtmp,需从官方下载nginx和nginx-rtmp-module源码,解压后在nginx目录配置并添加rtmp模块,编译安装。配置nginx.conf启用RTMP服务,监听1935端口。使用ffmpeg推流测试,如能通过VLC播放,表明nginx-rtmp运行正常。更多详情见书本。
975 0
FFmpeg开发笔记(四十)Nginx集成rtmp模块实现RTMP推拉流
|
弹性计算 分布式计算 DataWorks
DataWorks产品使用合集之在脚本离线同步节点如何修改集成资源组
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
229 4
|
Ubuntu 应用服务中间件 Linux
Linux Centos7 ubuntu 安装nginx,脚本一键安装nginx
Linux Centos7 ubuntu 安装nginx,脚本一键安装nginx
555 2
|
jenkins 持续交付
jenkins学习笔记之九:jenkins认证集成github
jenkins学习笔记之九:jenkins认证集成github
|
安全 jenkins 持续交付
jenkins学习笔记之八:jenkins认证集成gitlab
jenkins学习笔记之八:jenkins认证集成gitlab
|
jenkins Devops 持续交付
jenkins学习笔记之七:jenkins集成LDAP用户认证
jenkins学习笔记之七:jenkins集成LDAP用户认证