OpenResty之ngx lua API介绍

1.ngx lua学习资源 ngx lua有40多个指令,120多个API,访问链接官网github地址

2.编辑nginx.conf

worker_processes  1;
events {
    worker_connections  1024;
}
http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;
    server {
        listen       80;
        server_name  localhost;
        lua_code_cache off;
        location / {
            root   html;
            index  index.html index.htm;
        }
    location /hello {
            content_by_lua_file ngx_lua/hello.lua;
        }
    location /get_random_string {
            content_by_lua_file ngx_lua/get_random_string.lua;
        }
    location /decode_info {
            content_by_lua_file ngx_lua/decode_info.lua;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
}

3.编辑decode_info.lua文件(/usr/local/openresty/nginx/ngx_lua/decode_info.lua)

local json = require "cjson"

ngx.req.read_body()
local args = ngx.req.get_post_args()

if not args or not args.info then
    ngx.exit(ngx.HTTP_BAD_REQUEST)
end

local client_ip = ngx.var.remote_addr
local user_agent = ngx.req.get_headers()['user-agent'] or ''
local info = ngx.decode_base64(args.info)

local response = {}
response.info = info
response.ip = client_ip
response.user_agent = user_agent

ngx.say(json.encode(response))

4.开启nginx服务,进行测试

curl -i --data 'info=5aW95aW95a2m5Lmg77yM5aSp5aSp5ZCR5LiK' http://127.0.0.1/decode_info

输出:
HTTP/1.1 200 OK
Server: openresty/1.9.7.1
Date: Sun, 03 Jan 2016 14:39:18 GMT
Content-Type: application/octet-stream
Transfer-Encoding: chunked
Connection: keep-alive

{"user_agent":"curl\/7.19.7 (x86_64-redhat-linux-gnu) libcurl\/7.19.7 NSS\/3.19.1 Basic ECC zlib\/1.2.3 libidn\/1.18 libssh2\/1.4.2","info":"好好学习,天天向上","ip":"127.0.0.1"}

5.后话 可以根据API接口进行学习哦...

参考:

  1. https://github.com/openresty/lua-nginx-module#readme
  2. https://www.nginx.com/

转载于:https://my.oschina.net/wangjstu/blog/596606

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值