• <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
            97久久综合精品久久久综合| 2021最新久久久视精品爱 | 日韩AV毛片精品久久久| 91精品国产综合久久香蕉| 国产精品免费久久| 久久久这里只有精品加勒比| 日产精品久久久久久久| 91亚洲国产成人久久精品网址 | 久久久久久免费视频| 无遮挡粉嫩小泬久久久久久久 | 久久成人国产精品二三区| 午夜精品久久影院蜜桃| 久久精品人人做人人爽97| 久久久精品无码专区不卡| 国产亚洲精品自在久久| 久久国产色av免费看| 久久这里只精品国产99热| 中文字幕乱码久久午夜| 岛国搬运www久久| 久久精品国产亚洲av影院| 亚洲欧美精品一区久久中文字幕| 国内精品久久久久久99| 伊人久久一区二区三区无码| www亚洲欲色成人久久精品| 99久久婷婷免费国产综合精品| 久久久久亚洲AV无码专区首JN| 久久99国产精品成人欧美| 久久精品夜夜夜夜夜久久| 国产精品久久婷婷六月丁香| 国产精品免费久久| 久久e热在这里只有国产中文精品99| 婷婷伊人久久大香线蕉AV| 无码国内精品久久综合88| 亚洲精品美女久久久久99小说 | 久久99精品久久久久久不卡| 97久久精品午夜一区二区| 久久精品99久久香蕉国产色戒| 国产A三级久久精品| 亚洲av成人无码久久精品| 亚洲色欲久久久综合网| 精品国产VA久久久久久久冰|