zoukankan      html  css  js  c++  java
  • drizzle lua 数据传递(ngx.location.capture)

    经常使用PHP开发的WEB开发人员,刚刚转到NGINX+DRIZZLE开发环境,开始估计会遇到LUA如何获取DRIZZLE+MYSQL返回数据的问题,下面给出我的一些经验。

    首先修改NGINX的配置文件

    location /mysql {
        set $name $1; 
        set_quote_sql_str $quote_name $name;
        set $sql "SELECT * FROM crawl WHERE id=3";
        drizzle_query $sql; drizzle_pass mysql; rds_json on; 
    }

    curl localhost:8080/mysql 返回的结果:[{"id":3,"url_id":"100","url_type":"item","date":"0000-00-00","url":"http://item.taobao.com/item.htm?id=100","status":0,"failures":0,"start_date":0,"unit_id":54848}]

    然后在后面加入:

    location /lua{
        content_by_lua '
           local res = ngx.location.capture("/mysql")
           ngx.say("data: " .. res.body)
        ';  
    } 

    curl localhost:8080/lua 返回的结果:data: [{"id":3,"url_id":"100","url_type":"item","date":"0000-00-00","url":"http://item.taobao.com/item.htm?id=100","status":0,"failures":0,"start_date":0,"unit_id":54848}]

    最后大家也就都能猜到了

    location /luafile {
      content_by_lua_file /usr/local/openresty/nginx/html/test.lua;
    }

    test.lua

    local res = ngx.location.capture("/mysql")
    ngx.say("data: " .. res.body)

    搞定:curl localhost:8080/luafile 返回的结果:data: [{"id":3,"url_id":"100","url_type":"item","date":"0000-00-00","url":"http://item.taobao.com/item.htm?id=100","status":0,"failures":0,"start_date":0,"unit_id":54848}]

  • 相关阅读:
    网站首页蒙灰CSS样式
    MATLAB数值计算编程题
    通过P/Invoke控制继电器
    Java实习生入职测试
    navicat for mongodb12破解
    用svg绘制圣诞帽
    Excel条件格式
    10道算法题
    从事软件开发工作10年后的总结
    ASP.NET Core MVC+EF Core从开发到部署
  • 原文地址:https://www.cnblogs.com/liqiu/p/2772529.html
Copyright © 2011-2022 走看看