摘要:根據(jù)作者介紹這是一個簡單和容易調(diào)試運行在的。簡單介紹一下這次大會,這次大會的主題是開發(fā),涉及到在前端系統(tǒng)框架集群服務(wù)語音云服務(wù)智能硬件等方面的實踐,以及軟件基金會背后的故事。
在2016年第二屆 OpenResty 的全球開發(fā)者大會上看到了一個比較有意思的項目 lua-resty-repl,后來聽聞一些開發(fā)者看了項目的介紹后還是覺得一頭霧水,不知道怎么使用。這篇文章主要是介紹一下這個項目的使用方法。
根據(jù)作者介紹這是一個簡單和容易調(diào)試運行在 OpenResty 的 lua。
安裝 luarocks根據(jù) 官網(wǎng) 介紹,快速開始的姿勢如下:
$ wget https://luarocks.org/releases/luarocks-2.4.1.tar.gz $ tar zxpf luarocks-2.4.1.tar.gz $ cd luarocks-2.4.1 $ ./configure; sudo make bootstrap $ sudo luarocks install luasocket $ lua Lua 5.3.3 Copyright (C) 1994-2016 Lua.org, PUC-Rio > require "socket"
如果遇到系統(tǒng)上缺少 lualib.h 依賴導(dǎo)致無法正常的通過的,請到 Lua 官網(wǎng) 上先下載好最新的 Lua 源碼編譯安裝解決,或指定 Lua 源碼中lualib.h 的目錄即可。相信安裝 luarocks 過程中各種失敗問題大家很容易能解決,這里就不詳細(xì)展開。
安裝 lua-resty-replluarocks install lua-resty-repl創(chuàng)建 nginx.conf
先創(chuàng)建一個 nginx.conf 文件并向文件中寫入配置信息:
master_process off; # 關(guān)閉 master 進(jìn)程 error_log stderr notice; # error_log 日志級別是 stderr notice daemon off; # 關(guān)閉守護(hù)進(jìn)程模式,即打開調(diào)試模式 events { worker_connections 1024; } http { server { listen 8080; lua_code_cache off; location / { content_by_lua_block { require("resty.repl").start() } } } }
將上面的 nginx.conf 替換掉 OpenResty 安裝后 conf 文件夾中的 nginx.conf 后,啟動 OpenResty:
運行 lua-resty-repl$nginx Time [alert] #0: lua_code_cache is off; this will hurt performance in nginx.conf nginx: [alert] lua_code_cache is off; this will hurt performance in nginx.conf Time [notice] #0: using the "epoll" event method Time [notice] #0: openresty/1.11.2.1 Time [notice] #0: built by gcc 4.9.2 (Debian 4.9.2-10) Time [notice] #0: OS: Linux 4.4.0-38-generic Time [notice] #0: getrlimit(RLIMIT_NOFILE): 65536:65536
可以看到打出一些調(diào)試信息,現(xiàn)在我們啟動另外一個終端,或者使用 tmux 分屏,在另一個屏上輸入:
curl -H X-Header:buz 172.17.0.2:8080?foo=bar
那么你將會在原來的調(diào)試信息上看到如下輸出內(nèi)容:
Time [alert] 639#0: lua_code_cache is off; this will hurt performance in nginx.conf nginx: [alert] lua_code_cache is off; this will hurt performance in nginx.conf Time [notice] 639#0: using the "epoll" event method Time [notice] 639#0: openresty/1.11.2.1 Time [notice] 639#0: built by gcc 4.9.2 (Debian 4.9.2-10) Time [notice] 639#0: OS: Linux 4.4.0-38-generic Time [notice] 639#0: getrlimit(RLIMIT_NOFILE): 65536:65536 [1] ngx(content)>
在 > 后面寫入 ngx.req.get_headers() 和 ngx.req.get_uri_args()之類的命令后可以看到:
Time [alert] 639#0: lua_code_cache is off; this will hurt performance in nginx.conf nginx: [alert] lua_code_cache is off; this will hurt performance in nginx.conf Time [notice] 639#0: using the "epoll" event method Time [notice] 639#0: openresty/1.11.2.1 Time [notice] 639#0: built by gcc 4.9.2 (Debian 4.9.2-10) Time [notice] 639#0: OS: Linux 4.4.0-38-generic Time [notice] 639#0: getrlimit(RLIMIT_NOFILE): 65536:65536 [1] ngx(content)> ngx.req.get_headers() => { accept = "*/*", host = "172.17.0.2:8080", ["user-agent"] = "curl/7.47.0", ["x-header"] = "buz",= { __index = } } [2] ngx(content)> ngx.req.get_uri_args() => { foo = "bar" } [3] ngx(content)> ngx.say "it works!" => 1 [4] ngx(content)> ngx.exit(ngx.OK) 172.17.0.1 - - [Time +0000] "GET /?foo=bar HTTP/1.1" 200 20 "-" "curl/7.47.0"
從上面可以看出,當(dāng)一個請求過來的時候,開始執(zhí)行我們手動輸入的代碼,直到遇到 ngx.exit() 才返回結(jié)果給客戶端。
順帶一提,這次看完在騰訊舉辦的 第二屆 OpenResty 的全球開發(fā)者大會 后覺得很贊,干貨滿滿的,還有 OpenResty 創(chuàng)始人 agentzh 和幾位牛逼的講師在大會上出色演講和精彩答疑,確實讓大家收獲很大。
簡單介紹一下這次大會,這次 OpenResty 大會的主題是 web 開發(fā),涉及到 OpenResty 在前端系統(tǒng)、API gateway、 web 框架、集群服務(wù)、語音云服務(wù)、智能硬件等方面的實踐,以及 OpenResty 軟件基金會背后的故事。想要回顧大會優(yōu)質(zhì)的視頻回放和 PPT,請點擊這里查看。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/39395.html
摘要:但官方?jīng)]有發(fā)布相關(guān)東西,所以以結(jié)合安裝參考官方的為原則編寫。運行測試運行成功,大小,太大了感覺,提交到云端。啟動官方鏡像提交到云端,偶然想搜索下有沒有,竟然反問有官方鏡像,了個下來,還不錯。 前言 為什么要使用openresty? 官方說明:OpenResty? 是一個基于 Nginx 與 Lua 的高性能 Web 平臺,其內(nèi)部集成了大量精良的 Lua 庫、第三方模塊以及大多數(shù)的依賴項...
摘要:用于方便地搭建能夠處理超高并發(fā)擴(kuò)展性極高的動態(tài)應(yīng)用服務(wù)和動態(tài)網(wǎng)關(guān)。安裝安裝依賴庫下載及安裝激活組件被用于構(gòu)建。大部組件默認(rèn)是激活的,也有部件不是。您需要通過以下選項在編譯的時候?qū)⑺鼈兏髯约せ?,和? OpenResty簡介 OpenResty 是一個基于 Nginx 與 Lua 的高性能 Web 平臺,其內(nèi)部集成了大量精良的 Lua 庫、第三方模塊以及大多數(shù)的依賴項。用于方便地搭建能夠處...
摘要:從入門到實戰(zhàn)課程大綱摘自極客時間專欄。從入門到實戰(zhàn)作者溫銘,同時也是軟件基金會主席,最佳實踐作者。學(xué)習(xí)路徑圖參考資料 極客時間《OpenResty從入門到實戰(zhàn)》 返現(xiàn)福利 + 學(xué)習(xí)路徑圖 showImg(https://segmentfault.com/img/bVbsg9O?w=258&h=258);關(guān)注有課學(xué)微信公眾號,回復(fù)暗號 OR 獲取購買《OpenResty從入門到實戰(zhàn)》極客...
閱讀 1079·2021-11-24 10:27
閱讀 3351·2021-11-18 10:02
閱讀 2408·2021-11-16 11:45
閱讀 3173·2021-11-15 18:10
閱讀 841·2021-09-22 15:23
閱讀 1544·2019-08-30 15:53
閱讀 3030·2019-08-30 13:20
閱讀 1678·2019-08-30 12:53