1.簡介
openresty,也被稱為「ngx_openresty」,是乙個以nginx為核心同時包含很多第三方模組的web應用伺服器。借助於nginx的事件驅動模型和非阻塞io,可以實現高效能的web應用程式。 openresty不是nginx的分支,它只是乙個軟體包。主要有章亦春維護。
openresty預設整合了lua開發環境,而且提供了大量元件如mysql、redis、memcached等,使得在nginx上開發web應用更方便簡單。
2.安裝openresty
make && make install
./configure --help
配置nginx的啟動指令碼
vim /etc/init.d/nginx
新增如下內容:
exit $retval新增可執行許可權:
chmod a+x /etc/init.d/nginx
啟動nginx
service nginx start
3.在nginx中使用lua指令碼
cd /usr/local/openresty/nginx/conf
mkdir lua vhost
3.1 測試在nginx中使用lua指令碼
vim /usr/local/openresty/nginx/conf/vhost/lua.conf
其中內如如下:
server
location /lua
limit_conn preip 1000;
access_log logs/access_rua.log;
}
測試是否可以訪問:
service nginx reload
然後訪問:
如果輸出一下內容證明在nginx中可以執行lua指令碼:
hello,lua!
3.2在nginx中使用lua指令碼訪問redis:
i)連線redis集群,然後新增測試引數
192.168.1.30:7000> set '123' '456'
ii) 新增連線redis的lua指令碼
vim /usr/local/openresty/nginx/conf/lua/redis.lua
其內容如下:
local redis =require "resty.redis"
local conn = redis.new()
conn.connect(conn, "192.168.1.30", '7000')
local res=conn:get('123')
if res==ngx.null then
ngx.say("redis集群中不存在key--'123' ")
return
endngx.say(res)
iii)在上面的lua.conf配置檔案中新增:
location /lua_redis
iv)測試是否可以訪問
service nginx_reload然後訪問:
如果輸出以下內容則證明可以訪問redis:
Lua程式設計中使用巢狀迴圈的使用教程
lua程式語言允許使用乙個迴圈內嵌另乙個迴圈。下文將介紹幾個例子來說明這一概念。語法在lua中巢狀迴圈語法語句如下 複製 如下 for init,max min value,increment do for init,max min value,increment do statement s en...
Nginx 使用Lua指令碼
etc profile 加入並使之生效 lua exportluajit lib usr local luajit lib exportluajit inc usr local luajit include luajit 2.0 執行 source etc profile ndk nginx dev...
Lua指令碼中使用Unicode
如何在lua指令碼中使用unicode是本文要介紹的內容,主要是來學習unicode在lua指令碼中如何使用,具體內容來看本文詳細內容講解。說說最近的幾個事情 1 project採用lua,ui模組肯定是要徹底使用utf 16的,可是lua不支援,怎麼辦?最後好像是寫了userdata,可以將mul...