• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            Fork me on GitHub
            隨筆 - 215  文章 - 13  trackbacks - 0
            <2018年10月>
            30123456
            78910111213
            14151617181920
            21222324252627
            28293031123
            45678910


            專注即時通訊及網游服務端編程
            ------------------------------------
            Openresty 官方模塊
            Openresty 標準模塊(Opm)
            Openresty 三方模塊
            ------------------------------------
            本博收藏大部分文章為轉載,并在文章開頭給出了原文出處,如有再轉,敬請保留相關信息,這是大家對原創作者勞動成果的自覺尊重!!如為您帶來不便,請于本博下留言,謝謝配合。

            常用鏈接

            留言簿(1)

            隨筆分類

            隨筆檔案

            相冊

            Awesome

            Blog

            Book

            GitHub

            Link

            搜索

            •  

            積分與排名

            • 積分 - 216756
            • 排名 - 118

            最新評論

            閱讀排行榜

            http://www.epubit.com.cn/article/219

            ZeroBrane是一個開源的Lua編輯器IDE,自帶Lua運行程序和基本的庫。最主要的一點,就是ZB可以遠程在線的調試,nginx或是openresty上運行的lua腳本。

            在編輯方面可以和VIM及插件互補,多去一句,如果花點時間,給VIM按裝補全插件,目錄插件,tmux, tup,在分屏狀態下,vim還是不錯的,其實也可以把ZB的遠程調試功能,也做插件,讓VIM可以進行遠程在線調試。

            畢竟把系統的Log打的很全,如果可以在線調試,給WEB服務上運行的腳本程序下斷點,對調試工作,也大有裨益。

            下面就開始介紹,ZB如何進行在線調試。

            1.下載ZB。

            https://github.com/pkulchenko/ZeroBraneStudio

            里面有一個.sh文件,就是在linux上運行ZB的啟動程序。因為我們的Lua WEB程序在VPS上,運行ZB需要給VPS安裝Desktop,用VNC連上去。可以參考另外一篇文章。

            9.jpg

            這是運行起來的ZB界面,這個已經進入的調試工和狀態。

            2.創建一個Lapis工程,使用如下的命令:

            lapis new

            關于lapis更具體工程創建,也可以參考別一篇文章。

            2.png

            創建工程后,會自動的創建一些文件,在這些文件中關鍵的文件有:

            nginx.conf(OpenResty的配置文件)

            test.lua (我們準備調試的主程序)

            mobdebug.lua(ZB開源工程中自帶的程序,需要拷貝到當前目錄。lualibs/mobdebug)

            socket.lua(ZB開源工程中自帶的程序,需要拷貝到當前目錄。lualibs/ )

            3.修改配置文件。

            nginx.conf

            worker_processes ${{NUM_WORKERS}};

            error_log stderr notice;

            daemon off;

            pid logs/nginx.pid;

            events {

              worker_connections 1024;

            }

            http {

              include mime.types;

              lua_package_path '/usr/home/coding/ide/zerob/lualibs/?/?.lua;/usr/home/coding/ide/zerob/lualibs/?.lua;;';

              lua_package_cpath '/usr/home/coding/ide/zerob/bin/clibs/?.so;;';

              server {

                listen ${{PORT}};

                lua_code_cache ${{CODE_CACHE}};

                location / {

                  default_type text/html;

                  content_by_lua_file 'test.lua';

                }

                location /static/ {

                  alias static/;

                }

                location /favicon.ico {

                  alias static/favicon.ico;

                }

              }

            }

            lua_package_path和 lua_package_cpath,這兩個變量是關鍵的,需要指向你實際ZB的目錄。

            lapis自動生成的工程配置文件中,location下面使用的是content_by_lua,直接運行lua語句

            此處,我們直接引用lua文件,改用content_by_lua_file。

            4.創建調試程序。

            test.lua

            require('mobdebug').start('127.0.0.1')

            tmp_str = "Debug"

            print("Lua Lapis")

            ngx.say("Openresty")

            require('mobdebug').done()

            可以實現遠程調試,很關健的一點就是引用了mobdebug.這個模塊,這里的127.0.0.1就是openresty

            服務運行地址。

            5.起動IDE,執行調試。

            我們IDE菜單上的project-> project directory-> choose選擇打開,我們這個工程的目錄,

            選set from current file, 把工程中的test.lua作為當前要處理的文件。

            下面關鍵的一點,在project 菜單里,一定要點選 "Start Debugger Server"。

            3.jpg

            國為選中后,ZB就會在后面開一端口監聽:

            4.jpg

            注意這個8172就是為調試準備的。

            5.jpg

            遠行WEB服務:lapis server

            6.jpg

            下面這張圖,就回到了最開始的那張圖。

            7.jpg


            我們在瀏覽器中輸入:127.0.0.1:8080

            程序進入狀態。


            我們進入Remote console標簽頁,進行在線調試,直接使用openresy的庫函數ngx.say

            8.jpg

            單步下一句,把程序中的tmp_str的內容打到,openresty服務器的控制臺上。

            9.jpg

            11.jpg

            我們可以通過自己寫一個函數,把輸出重定向到文件里,看著更方便。

            使用shit-enter,還可以進行多行輸入代碼輸入。

            我們結束調試,就會看到ngx.say打印的內容出現在網頁上。

            12.jpg

            下篇是如何用ZB在線調試Lua WEB程序。



            作者:糖果

            PS:轉載到其它平臺請注明作者姓名及原文鏈接,請勿用于商業用途。

            http://www.lua.ren

            致敬英文作者:Paul Kulchenko

            http://notebook.kulchenko.com/zerobrane/debugging-openresty-nginx-lua-scripts-with-zerobrane-studio

            posted on 2017-07-22 11:45 思月行云 閱讀(2034) 評論(0)  編輯 收藏 引用 所屬分類: Nginx\Openresty
            一本色道久久综合亚洲精品| 久久99国产精品尤物| 色综合久久综合网观看| 亚洲精品国产第一综合99久久| 一本久久a久久精品亚洲| 久久免费的精品国产V∧| 国产精品99久久久久久宅男小说| av无码久久久久不卡免费网站| 久久99国产精一区二区三区| 精品免费久久久久久久| 久久久受www免费人成| 日韩亚洲欧美久久久www综合网| 久久精品国产国产精品四凭| 精品熟女少妇aⅴ免费久久| 国产精品99久久99久久久| 久久久久亚洲AV无码专区桃色| 亚洲午夜久久久久妓女影院| 激情综合色综合久久综合| 欧美午夜精品久久久久免费视| 久久久无码精品亚洲日韩京东传媒| 久久亚洲精品无码播放| 国产精品久久精品| 国产福利电影一区二区三区,免费久久久久久久精 | 久久精品无码专区免费东京热| 日韩亚洲欧美久久久www综合网 | 中文字幕久久波多野结衣av| 国产A级毛片久久久精品毛片| 久久久无码一区二区三区| 久久久久久精品久久久久| 久久人人爽人人精品视频| 91精品日韩人妻无码久久不卡| 久久精品男人影院| 久久综合国产乱子伦精品免费| 亚洲伊人久久成综合人影院 | 亚洲精品乱码久久久久久蜜桃不卡 | 性高湖久久久久久久久AAAAA| 色综合久久88色综合天天 | 精品久久久久久无码人妻热| 国产香蕉97碰碰久久人人| 91亚洲国产成人久久精品网址| 国内精品久久久久久野外|