当前位置: 首页 > news >正文

Nginx整合Lua脚本

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.lryc.cn/news/508686.html

相关文章:

  • 【C++】C++11 STL容器emplace方法原理剖析
  • QT-简单视觉框架代码
  • AI新书推荐:深度学习和大模型原理与实践(清华社)
  • [spring]处理器
  • 重温设计模式--中介者模式
  • 重温设计模式--设计模式七大原则
  • LeetCode429周赛T4
  • 详解MySQL在Windows上的安装
  • 【Python使用】嘿马python高级进阶全体系教程第10篇:静态Web服务器-返回固定页面数据,1. 开发自己的静态Web服务器【附代码文档】
  • 软件测试面试题和简历模板(面试前准备篇)
  • Linux 基本使用和程序部署
  • uniapp微信小程序,使用fastadmin完成一个一键获取微信手机号的功能
  • CSS系列(27)- 图形与滤镜详解
  • Docker 技术系列之安装多版本Mysql5.6和Mysql5.7
  • 理解并使用Linux 内核中的 Tracepoint
  • centos7中Gbase8s数据库安装,以及数据导入遇到的一系列问题
  • AW36518芯片手册解读(3)
  • MySQL的REPEATABLE READ事务隔离级别
  • sqoop的参数有哪些?
  • 动态规划<四> 回文串问题(含对应LeetcodeOJ题)
  • 跨模态知识迁移:基于预训练语言模型的时序数据建模
  • 重温设计模式--职责链模式
  • git冲突解决
  • Java学习笔记(14)--面向对象编程
  • 《Swift 字面量》
  • 数据库 SQL 常用语句全解析
  • SQLite 命令
  • 本地如何启动casdoor
  • 目标检测-R-CNN
  • 【持续更新】Github实用命令