• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

nginx+lua+redis高并发应用建设

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

ngx_lua将lua嵌nginx,让nginx运行lua脚本。高并发,非堵塞过程中的各种请求。

url要求nginxserver,然后lua查询redis,返回json数据。


一.安装lua-nginx-module

參见《LNMLGC》架构


二.安装redis2-nginx-module模块

get https://github.com/openresty/echo-nginx-module
get https://github.com/openresty/redis2-nginx-module
get https://github.com/agentzh/set-misc-nginx-module.git

#
./configure --prefix=/usr/local/nginx   \
--with-debug                            \
--with-http_stub_status_module          \
--with-http_ssl_module                  \
--with-pcre=../pcre-8.21                \
--add-module=../ngx_devel_kit-0.2.19    \
--add-module=../lua-nginx-module-0.9.8  \
--add-module=../echo-nginx-module       \
--add-module=../redis2-nginx-module     \
--add-module=../set-misc-nginx-module


# make
# make install

三.安装lua-redis-parser
# git clone https:
//github.com/agentzh/lua-redis-parser.git
# export LUA_INCLUDE_DIR=/usr/local/include/luajit-2.0
# make CC=gcc
# make install CC=gcc

四.安装json
# wget http:
//files.luaforge.net/releases/json/json/0.9.50/json4lua-0.9.50.zip
# unzip json4lua-0.9.50.zip
# cp json4lua-0.9.50/json/json.lua /usr/local/lua/lib/

五.安装redis-lua
# git clone https:
//github.com/nrk/redis-lua.git
# cp redis-lua/src/redis.lua /usr/local/lua/lib/

六.配置
...
http {
    ...
    upstream redis_pool {
        server localhost:6379;
        keepalive 1024 single;
        //定义连接池大小,当连接数达到此数后。兴许的连接为短连接
    }
    server {
        ...
        location /get_redis{
            #internal;
            set_unescape_uri $key $arg_key;
            redis2_query hgetall $key;
            redis2_pass redis_pool;
        }
        location /json {
            content_by_lua_file conf/test.lua;
        }
    }
}

# vi test.lua,放在nginx.conf同文件夹下

七.測试
# redis-cli
127.0.0.1:6379> HMSET ttlsa www www.ttlsa.com mail mail.ttlsa.com
OK
127.0.0.1:6379> hgetall ttlsa
1) "www"
2) "www.ttlsa.com"
3) "mail"
4) "mail.ttlsa.com"

# curl http://localhost/json?

key=ttlsa

["www","www.ttlsa.com","mail","mail.ttlsa.com"]

www.ttlsa.com


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
fatalerrorLNK1104:无法打开文件“lua51.lib”发布时间:2022-07-22
下一篇:
lua使用自定义类型作key发布时间:2022-07-22
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap