Lua - IDE调试OpenResty
本文介绍如何使用IDE 调试 OpenResty
IDE工具:zerobranestudio 下载地址:https://studio.zerobrane.com/support
OpenResty 必须是32位的,https://openresty.org/download/openresty-1.13.6.2-win32.zip
一、配置OpenResty与ZeroBraneStudio的关联
进入OpenResty下的nginx的配置,并添加以下配置ZeroBraneStudio这部分ZeroBraneStudio的软件路径
lua_package_path 'D:\ZE/lua/ZeroBraneStudioEduPack-1.90-win32/lualibs/?/?.lua;D:\ZE/lua/ZeroBraneStudioEduPack-1.90-win32/lualibs/?.lua;;'; lua_package_cpath 'D:\ZE/lua/ZeroBraneStudioEduPack-1.90-win32/bin/clibs/?.dll;;';

二、编写测试Lua
编写Lua测试文件
require(“mobdebug”).start(“127.0.0.1”)是很重要的一行代码,debug会进入到这行代码的后一行进行调试
require("mobdebug").start("127.0.0.1") --用于接收前端数据的对象 local args=nil --获取前端的请求方式 并获取传递的参数 local request_method = ngx.var.request_method --判断是get请求还是post请求并分别拿出相应的数据 if"GET" == request_method then args = ngx.req.get_uri_args() elseif "POST" == request_method then ngx.req.read_body() args = ngx.req.get_post_args() --兼容请求使用post请求,但是传参以get方式传造成的无法获取到数据的bug if (args == nil or args.data == null) then args = ngx.req.get_uri_args() end end --获取前端传递的name值 local name = args.name --响应前端 ngx.say("hello:"..name)
三、配置OpenResty中Lua文件的关联
location /luatest{ default_type text/html; #这里的lua文件的路径为绝对路径,请根据自己安装的实际路径填写 #记得斜杠是/这个,从window中拷贝出来的是\这样,这样是有问题的,务必注意 content_by_lua_file D:/ZE/lua/testcode/testlua.lua; }
重启OpenResty下的Nginx
四、ZeroBrane Studio调试设置
开启ZeroBrane Studio的调试模式

添加需要查看的变量

ZeroBrane Studio调试
请求OpenResty下的对应Lua的请求地址
如:http://127.0.0.1/luatest?name=Lua

ZeroBrane Studio会进入绿色箭头对应行的代码
调试快捷键
F10 下一行
Shift+F10 跳过调试
Ctrl +F10 跳过当前function
Shift + F5 终止运行
F6 运行
F5 debug运行
常见问题
路径问题
可能会存在Lua的路径错误导致Lua无法正常运行,检查各个配置的路径即可
不是有效的 Win32 应用程序
这个就是安装的64位的OpenResty,换成32位的即可
到这里即可使用ZeroBrane Studio进行OpenResty的开发调试了
转自:https://blog.csdn.net/lupengfei1009/article/details/86071905
posted on 2018-09-02 12:11 TrustNature 阅读(253) 评论(0) 收藏 举报
浙公网安备 33010602011771号