0x00 Nginx 內嵌Lua腳本有以下特點:
20k個並發連接
Lua腳本可以在Nignx 11個擴展的不同層次速度,層次的不同層次速度暫存器指令)
0x01 應用場景
在web server端做請求過濾處理(如:WAF、Anti CC等)
0x02 簡單配置過程LTS
幾個需要下載的模組(注意安裝順序和export路徑問題)
echo-nginx-module( more
shell-style goodies to Nginx config file)
lua-nginx-module(Embed the Power of Lua into Nginx)
0x03 可能存在的問題,找不到lua.h 等,是因為luaJIT的lib和inc沒有配置在環境變量中
export LUAJIT_LIB=/usr/lib/lua
如果有無法啟動的情況,service 可以查看tail /var/log/syslog 查看錯誤 如果已經產生nginx bin檔案可以用nginx -V 來查看設定檔是否正確
如果缺少模組:
sudo apt-get install zlib1g-dev
sudo apt-get install libssl-dev
ps:特別說明的是,請注意下Nginx的版本不要下載最新的,可能不支持上面那些模塊接口,我用的是Nginx 1.7.4
其中0x02的安裝步驟都有安裝說明,這裡就不細說了
0x04 安裝完後
修改nginx.conf文件(默認路徑/etc/nginx/nginx .conf):
新增lua程式碼
/etc/nginx/lua/hello.lua
/etc/nginx/lua/hello_redis.lua
/
nginx .conf = "text/plain"; ngx.say("say hello from hello.lua"); 所有新增的location代碼:
3.使用redis(第三條新加的redis):
get install redis-server
hello_redis.lua 內容物:
本地快取= redis.new()
ngx.say("連結失敗:", err)
return
ngx.say ("未能收到hello: ",錯誤)
return
結束
ngx.say("hello 找不到。")
結束
gin385在過程中放棄,堅持下去,相信你一定會成功。
0xFF 附加資料:
http://wiki.nginx.org/HttpLuaModule
以上就介紹了Nginx內嵌lua腳本,結合Redis的使用,包括了方面的內容,希望對PHP教程有興趣的朋友有所幫助。