安装openresty+redis+lua,openrestyredis


1.安装luajit: http://luajit.org/download.html

    make & make install

2.安装openresty: http://openresty.org/

   注意安装条件:apt-get install libreadline-dev libncurses5-dev libpcre3-dev libssl-dev perl make build-essential

3.安装redis: sudo apt-get redis-server

4.安装lua-redis开发包: git clone https://github.com/agentzh/lua-resty-redis.git 

    加在 http 段里加上: lua_package_path "/your path/?.lua;;";

    在 server 段里,加入代码,如果不加此代码或者设置为 on 时,则修改lua后需要重启 Nginx才能生效:  lua_code_cache off;

    在 Nginx 配置文件中,加入一个Location:location /lua {content_by_lua_file /your path/test.lua;}

5.编写脚本文件test.lua

local redis = require "resty.redis"
local cache = redis.new()
local ok, err = cache.connect(cache, '127.0.0.1', '6379')
cache:set_timeout(60000)
if not ok then
        ngx.say("failed to connect:", err)
        return
end
res, err = cache:set("dog", "an aniaml")
if not ok then
        ngx.say("failed to set dog: ", err)
        return
end
ngx.say("set result: ", res)
local res, err = cache:get("dog")
if not res then
        ngx.say("failed to get dog: ", err)
        return
end
if res == ngx.null then
        ngx.say("dog not found.")
        return
end
ngx.say("dog: ", res)
local ok, err = cache:close()
if not ok then
        ngx.say("failed to close:", err)
        return
end


6.使用一下方法可以根据后缀调用不同的lua文件

 location ~ ^/([-_a-zA-Z0-9/]+) {
            content_by_lua_file  /opt/openresty/p12/lua/$1.lua;
        }

7.如果浏览器访问出现下载界面,则MIMEtype不正确,在修改default_typ

    在location中加入:  default_type text/plain;

相关内容

    暂无相关文章