介绍

ZeroBraneStudio 作为轻量级、跨平台的Lua IDE,已被广泛用来调试各种Lua引擎游戏框架、Openresty、Wireshark脚本等等。

Openresty 是一个建立在Nginx Web应用服务器,一个非常快的Web服务器,提供非阻塞IO(各种后端redis、memcached、MySQL、HTTP服务器等)和支持Lua作为其脚本语言。

目的

本文旨在帮助初涉Openresty开发的相关开发人员了解如何使用ZeroBraneStudio开发和调试自己的lua脚步

如下按照2个步骤说明:

1、安装Openresty和ZeroBrane Studio

2、编写简单Openresty脚步并进行调试

安装Openresty和ZeroBrane Studio

1、Openresty安装

Openresty提供多种安装方式(http://openresty.org/cn/installation.html),在unix系统上我们可以直接使用官方提供的预编译包直接安装,使用windows的同学可以直接下载exe运行(http://openresty.org/cn/download.html)。

2、ZeroBraneStudio安装

从https://github.com/pkulchenko/ZeroBraneStudio/releases下载发布包并解压,运行zbstudio.exe or zbstudio.sh打开ZeroBraneStudio,同时点击Project->Project Directory选择Openresty目录。

编写简单Openresty脚步并进行调试

我们首先更改openresty配置如下:

worker_processes  auto;

worker_rlimit_nofile 65535;

events {
worker_connections 20480;
} http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
limit_req_zone $binary_remote_addr zone=one:50m rate=20r/s; lua_package_path 'D:\ZeroBraneStudio-1.70/lualibs/?/?.lua;D:\ZeroBraneStudio-1.70/lualibs/?.lua;;';
lua_package_cpath 'D:\ZeroBraneStudio-1.70/bin/clibs/?.dll;;'; include server.conf;
}
    server {
        listen 80;         location /helloworld {
            default_type text/plain;
            content_by_lua_file D:\openresty-1.13.6.1-win32\lua\content.lua;
        }
    }

然后运行nginx.exe启动Openresty,点击Project | Start Debugger Server启动Debugger Server,在浏览器输入http://localhost/helloworld,然后即可进入断点调试

(If you are running on OSX, replace ?.dll with ?.dylib and if you are running on Linux, replace bin/clibs/?.dll with either bin/linux/x86/clibs/?.so or bin/linux/x64/clibs/?.so depending on your platform.)

使用ZeroBrane Studio调试Openresty lua脚本的更多相关文章

  1. Redis Lua脚本调试

    从版本3.2开始,Redis包含一个完整的Lua调试器,可以用来使编写复杂Redis脚本的任务更加简单. 由于Redis 3.2仍处于测试阶段,请unstable从Github 下载Redis 的分支 ...

  2. Redis学习笔记(三)使用Lua脚本实现分布式锁

    Redis在2.6推出了脚本功能,允许开发者使用Lua语言编写脚本传到Redis中执行. 使用Lua脚本的好处如下: 1.减少网络开销:本来5次网络请求的操作,可以用一个请求完成,原先5次请求的逻辑放 ...

  3. 像调试java一样来调试Redis lua

    高并发的系统中,redis的使用是非常频繁的,而lua脚本则更是锦上添花.因为lua脚本本身执行的时候是一个事务性的操作,不会掺杂其他外部的命令,所以很多关键的系统节点都会用redis+lua来实现一 ...

  4. 如何使用ZEROBRANE STUDIO远程调试COCOS2D-X的LUA脚本(转)

    http://www.cocos2d-x.org/docs/manual/framework/native/v2/lua/lua-remote-debug-via-zerobrane/zh ZeroB ...

  5. ZeroBrane Studio远程调试Lua程序(转)

    环境: ZeroBrane Studio安装在Windows 7上,而要调试的程序运行在CentOS上: 设置: 在windows 7上,打开ZeroBrane Studio,打开需要调试的文件,例如 ...

  6. ZeroBrane Lua脚本编辑器代码自动补全

    简介         ZeroBrane Studio是一款支持代码提示.语法高亮.远程调试.代码分析.调试等功能的轻量级Lua IDE工具.可以去官网studio.zerobrane.com进行下载 ...

  7. 如何调试lua脚本

    首先感谢下ZeroBrane Studio. 这里拿cocos2dx/samples/Lua/HelloLua做例子来说明,其他的都是同样道理. 1.下载调试Lua所需的IDE,地址在这.有经济实力的 ...

  8. 深入LUA脚本语言,让你彻底明白调试原理

    这是道哥的第008篇原创 一.前言 上篇文章我们聊了gdb的底层调试机制,明白了gdb是利用操作系统提供的系统信号来调试目标程序的.很多朋友私下留言了,看到能帮助到大家,我心里还是很开心的,其实这也是 ...

  9. Nginx 内嵌lua脚本,结合Redis使用

    0x00 Nginx 内嵌Lua脚本有下面特点: 20k个并发连接 Lua脚本能够在Nignx 11个层次的不同层次发挥作用,扩展Ngnix功能 Lua速度极快(寄存器指令) 0x01 应用场景 在w ...

随机推荐

  1. JAVA 8 日期工具类

    JAVA 8 日期工具类 主题描述 JAVA中日期时间的历史 代码成果 主题描述 JAVA的日期时间一直比较混乱,本来以为joda会是巅峰,但是JAVA 8改变了我的思想.但是即便在JAVA 8面前, ...

  2. JavaScript基础视频教程总结(091-100章)

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  3. Apache Tomcat Eclipse Integration

    An Illustrated Quick Start Guide Apache Tomcat makes hosting your applications easy. The Eclipse IDE ...

  4. C语言 字符二维数组(多个字符串)探讨 求解

    什么是二维字符数组? 二维字符数组中为什么定义字符串是一行一个? “hello world”在C语言中代表什么? 为什么只能在定义时才能写成char   a[10]="jvssj" ...

  5. Linux下使用openVPN连接到某个内网

    推荐一个网站(比较全的介绍关于openvpn的客户端与服务端的配置) 点击我 此处我介绍我配置openvpn客户端连接的坑 我的机器为kali linux apt-get install openvp ...

  6. JS canvas 画板 撤销

    <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...

  7. 《HTTP权威指南》5-Web服务器

    各种形状,风格,尺寸的Web服务器 Web服务器会对HTTP请求进行处理并提供响应.Web服务器有着不同的风格,形状和尺寸但是不管功能,外貌,风格有何差异,所有的Web服务器都能够接收请求资源的HTT ...

  8. Python学习笔记-基础2

    1.列表list 列表是最常用的Python数据类型,它可以作为一个方括号内的逗号分隔值出现. 1.定义列表 names = ["Ronaldo","Messi" ...

  9. 在ASP.NET MVC里对Web Page网页进行权限控制

    我们在ASP.NET MVC开发时,有时候还是得设计ASP.NET的Web Page网页(.aspx和.aspx.cs),来实现一些ASP.NET MVC无法实现的功能,如此篇<Visual S ...

  10. CSS中的px与物理像素、逻辑像素、1px边框问题

    一直不太清楚CSS中的1px与逻辑像素.物理像素是个什么关系(作为一名前端感觉很惭愧 -_-!),今天终于花时间彻底弄清楚了,其实弄清楚之后就觉得事情很简单,但也只有在弄清楚之后,才会觉得简单(语出& ...