Nginx整合Lua脚本

devtools/2024/12/26 1:17:07/

Nginx-Lua

Nginx整合Lua脚本

Lua环境搭建

下载地址
linux环境下

yum install lua

安装后验证

lua -v

Lua脚本执行

lua xxx.lua

Nginx整合Lua

nginx需要添加lua模块

嵌入内容

示例如下

修改nginx.conf如下
location /lua {default_type 'text/plain';content_by_lua 'ngx.say("hello,lua")';
}

嵌入Lua脚本

示例如下

1、在nginx目录下创建脚本目录
2、放入脚本文件
3、修改nginx.conf如下location /lua {#lua_code_cache off;content_by_lua_file lua/hello-nginx.lua;}
4、访问/lua,页面展示脚本输出内容

调试Lua脚本

1、nginx.conf放开注释lua_code_cache off,即关闭lua脚本缓存,修改脚本内容不需重启nginx实现热更新,但会影响性能。
2、使用ZeroBrane Studio(https://studio.zerobrane.com/)远程或本地模拟调试

查看Lua报错日志

nginx中使用lua报错时,页面提示500 Internal Server Error。查看lua报错信息需修改nginx.conf
vim /usr/local/nginx/conf/nginx.conf
日志级别改为debug
error_log /home/wwwlogs/nginx_error.log debug;
在nginx_error.log里可以看到lua报错信息

调试数据

nginx+lua有时不方便直接在显示页面里呈现内容,特别是在线上,可以采用输出头信息来达到调试数据的目的,可以使用ngx.header来设置头信息输出。例如:
ngx.header["xxx"] = "xxx"

Nginx Lua Api

nginx提供api给lua调用,参考

除了content_by_lua_file等指令外,还能使用lua脚本连接redis、mysql等

脚本demo参考

nginx-lua-demo


http://www.ppmy.cn/devtools/145405.html

相关文章

如何使用C/C++语言编写GPIB协议控制程序呢?

使用C/C语言编写GPIB(General Purpose Interface Bus,通用接口总线)协议控制程序通常涉及与GPIB硬件接口的交互。以下是一个使用C/C编写GPIB控制程序的基本步骤和示例代码,但请注意,具体的实现细节可能会因你使用的GPI…

java反射详讲

好的!以下是关于 Java 反射的详细讲解(约5000字左右)。内容包括基础概念、反射的优缺点、基本用法,以及典型案例。 Java 反射详解 反射是 Java 中的一项强大机制,允许程序在运行时动态获取类的相关信息,并…

vue3入门教程:reactive函数

基本用法 引入 reactive 首先,你需要从 vue 包中引入 reactive 函数: import { reactive } from vue;创建一个响应式对象 使用 reactive 函数来创建一个响应式对象: const state reactive({count: 0,name: Vue 3 });在这个例子中&#xff0c…

CSS @property 颜色过渡动画实例

CSS property 颜色过渡动画实例 基础知识 property 语法回顾 property --custom-color {syntax: <color>;inherits: false;initial-value: #ff0000; }颜色表示方式 在使用 property 进行颜色动画时&#xff0c;我们可以使用以下颜色格式&#xff1a; HEX: #RRGGBBRG…

Centos下的OpenSSH服务器和客户端

目录 1、在 IP地址为192.168.98.11的Linux主机上安装OpenSSH服务器&#xff1b; 2、激活OpenSSH服务&#xff0c;并设置开机启动&#xff1b; 3、在IP地址为192.168.98.33的Linux主机上安装OpenSSH客户端&#xff0c;使用客户端命令&#xff08;ssh、scp、sftp&#xff09;访…

负载均衡-lvs

负载均衡集群 1、集群是什么&#xff1f; 1 集群&#xff08;cluster&#xff09;技术是一种较新的技术&#xff0c;通过集群技术&#xff0c;可以在付出较低成本的情况下获得在性能、可靠性、灵活性方面的相对较高的收益&#xff0c;其任务调度则是集群系统中的核心技术。 …

FPGA 第13讲 计数器

时间:2024.12.14 一、学习内容 1.计数器 计数是一种最简单基本的运算,计数器就是实现这种运算的逻辑电路,计数器在数字 系统中主要是对脉冲的个数进行计数,以实现测量、计数和控制的功能,同时兼有分频功 能。 计数器在数字系统中应用广泛,如在电子计算机的控制器中对指…

微服务openfeign配置重试机制

场景&#xff1a; 1、在实际开发中&#xff0c;通过feign调用其他服务&#xff0c;如果出现read-timeout超时、或调用出现异常 2、如上问题&#xff0c;有时候可能是网络速度、网路抖动等原因导致超时异常&#xff0c;并非程序本身错误&#xff0c;所以可以配置openfeign重试…