Heim  >  Artikel  >  Datenbank  >  drizzle lua 数据传递(ngx.location.capture)_MySQL

drizzle lua 数据传递(ngx.location.capture)_MySQL

WBOY
WBOYOriginal
2016-06-01 13:38:351233Durchsuche

bitsCN.com

经常使用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}]

bitsCN.com
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:MySQL使用DNS的过程_MySQLNächster Artikel:mysql修改根用户密码_MySQL