gpt4 book ai didi

Nginx+Lua+Redis构建高并发Web应用

转载 作者:qq735679552 更新时间:2022-09-29 22:32:09 28 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章Nginx+Lua+Redis构建高并发Web应用由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

本文介绍如何用Nginx+Lua+Redis来构建高并发Web应用,Curl请求Nginx,Nginx通过Lua查询Redis,返回json数据.

1、安装 1、安装lua-redis-parser 。

复制代码代码如下:

#git clone https://github.com/agentzh/lua-redis-parser.git
 #export LUA_INCLUDE_DIR=/usr/include/lua5.1
 #make CC=gcc
 #make install CC=gcc

2、安装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/share/lua/5.1/

3、安装redis-lua 。

复制代码代码如下:

#git clone https://github.com/nrk/redis-lua.git
 #cp redis-lua/src/redis.lua /usr/share/lua/5.1/

  。

2、配置 。

复制代码代码如下:

        #vi /etc/nginx/nginx.conf         http {             include mime.types;             default_type application/octet-stream;             access_log logs/access.log;             sendfile on;             tcp_nopush on;             tcp_nodelay on;             keepalive_timeout 60;             types_hash_max_size 2048;             server_tokens off;             lua_code_cache on,

  。

            upstream redis_pool {                 server 192.168.1.105:6379;                 keepalive 1024 single;                  //定义连接池大小,当连接数达到此数后,后续的连接为短连接             } 。

            server {                 listen 80;                 server_name 192.168.1.104,

                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_redis.lua;                 }             }         } 。

  。

3、测试 1、编写脚本         编写上面配置中的test_redis.lua脚本 。

复制代码代码如下:

        #vi test_redis.lua
        local json = require("json")
        local parser = require("redis.parser")
        local res = ngx.location.capture("/get_redis",{args = { key = ngx.var.arg_key }})
        if res.status == 200 then
            reply = parser.parse_reply(res.body)
            value = json.encode(reply)
            ngx.say(value)
            a = json.decode(value)
            ngx.say(a[2])
        end

2、构造数据 。

复制代码代码如下:

        #redis-cli -h 192.168.1.105 -p 6379
        redis 192.168.1.105:6379>HMSET testnlr www www.zzvips.com bbs bbs.zzvips.com

3、开始测试 。

复制代码代码如下:

        #curl 'http://192.168.1.104/json?key=testnlr'
        ["www", "www.zzvips.com", "bbs", "bbs.zzvips.com"]

最后此篇关于Nginx+Lua+Redis构建高并发Web应用的文章就讲到这里了,如果你想了解更多关于Nginx+Lua+Redis构建高并发Web应用的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com