摘要:根據作者介紹這是一個簡單和容易調試運行在的。簡單介紹一下這次大會,這次大會的主題是開發,涉及到在前端系統框架集群服務語音云服務智能硬件等方面的實踐,以及軟件基金會背后的故事。
在2016年第二屆 OpenResty 的全球開發者大會上看到了一個比較有意思的項目 lua-resty-repl,后來聽聞一些開發者看了項目的介紹后還是覺得一頭霧水,不知道怎么使用。這篇文章主要是介紹一下這個項目的使用方法。
根據作者介紹這是一個簡單和容易調試運行在 OpenResty 的 lua。
安裝 luarocks根據 官網 介紹,快速開始的姿勢如下:
$ 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"
如果遇到系統上缺少 lualib.h 依賴導致無法正常的通過的,請到 Lua 官網 上先下載好最新的 Lua 源碼編譯安裝解決,或指定 Lua 源碼中lualib.h 的目錄即可。相信安裝 luarocks 過程中各種失敗問題大家很容易能解決,這里就不詳細展開。
安裝 lua-resty-replluarocks install lua-resty-repl創建 nginx.conf
先創建一個 nginx.conf 文件并向文件中寫入配置信息:
master_process off; # 關閉 master 進程 error_log stderr notice; # error_log 日志級別是 stderr notice daemon off; # 關閉守護進程模式,即打開調試模式 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
可以看到打出一些調試信息,現在我們啟動另外一個終端,或者使用 tmux 分屏,在另一個屏上輸入:
curl -H X-Header:buz 172.17.0.2:8080?foo=bar
那么你將會在原來的調試信息上看到如下輸出內容:
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"
從上面可以看出,當一個請求過來的時候,開始執行我們手動輸入的代碼,直到遇到 ngx.exit() 才返回結果給客戶端。
順帶一提,這次看完在騰訊舉辦的 第二屆 OpenResty 的全球開發者大會 后覺得很贊,干貨滿滿的,還有 OpenResty 創始人 agentzh 和幾位牛逼的講師在大會上出色演講和精彩答疑,確實讓大家收獲很大。
簡單介紹一下這次大會,這次 OpenResty 大會的主題是 web 開發,涉及到 OpenResty 在前端系統、API gateway、 web 框架、集群服務、語音云服務、智能硬件等方面的實踐,以及 OpenResty 軟件基金會背后的故事。想要回顧大會優質的視頻回放和 PPT,請點擊這里查看。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/39395.html
摘要:但官方沒有發布相關東西,所以以結合安裝參考官方的為原則編寫。運行測試運行成功,大小,太大了感覺,提交到云端。啟動官方鏡像提交到云端,偶然想搜索下有沒有,竟然反問有官方鏡像,了個下來,還不錯。 前言 為什么要使用openresty? 官方說明:OpenResty? 是一個基于 Nginx 與 Lua 的高性能 Web 平臺,其內部集成了大量精良的 Lua 庫、第三方模塊以及大多數的依賴項...
摘要:用于方便地搭建能夠處理超高并發擴展性極高的動態應用服務和動態網關。安裝安裝依賴庫下載及安裝激活組件被用于構建。大部組件默認是激活的,也有部件不是。您需要通過以下選項在編譯的時候將它們各自激活,和。 OpenResty簡介 OpenResty 是一個基于 Nginx 與 Lua 的高性能 Web 平臺,其內部集成了大量精良的 Lua 庫、第三方模塊以及大多數的依賴項。用于方便地搭建能夠處...
摘要:從入門到實戰課程大綱摘自極客時間專欄。從入門到實戰作者溫銘,同時也是軟件基金會主席,最佳實踐作者。學習路徑圖參考資料 極客時間《OpenResty從入門到實戰》 返現福利 + 學習路徑圖 showImg(https://segmentfault.com/img/bVbsg9O?w=258&h=258);關注有課學微信公眾號,回復暗號 OR 獲取購買《OpenResty從入門到實戰》極客...
閱讀 1062·2021-11-24 10:27
閱讀 3337·2021-11-18 10:02
閱讀 2396·2021-11-16 11:45
閱讀 3161·2021-11-15 18:10
閱讀 822·2021-09-22 15:23
閱讀 1529·2019-08-30 15:53
閱讀 3021·2019-08-30 13:20
閱讀 1666·2019-08-30 12:53