欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

另外一种搭建nginx_lua环境的方法

程序员文章站 2022-03-21 19:12:53
...
使用大牛 ZhangYichun(http://openresty.org/) 提供的集成包快速安装。

非常简单,下载 ngx_openresty,该集成包中有:Nginx,Lua或Luajit,ngx_lua,以及一些有用的Nginx第三方模块。

例如:

nginx的第三方模块redis,这个包实质就是一个.lua文件,是个库文件,提供一些访问redis的接口:

将其下载下来:

git clone https://github.com/agentzh/lua-resty-redis.git

拷贝:

该包中,有一个 Lib 目录,将 Lib 目录下的文件和子目录拷贝至上文lua_package_path配置的目录(这里是/data/nginx-1.4.2/)下

再写个简单的lua程序连接redis并获取里面的内容:

例如:写个test_redis.lua放在/data0/nginx-1.4.2/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

在nginx.conf里面配置对应的访问位置:
location /test_redis {
content_by_lua_file lua/test_redis.lua;
}
[root@localhost conf]# curl http://localhost/test_redis
set result: OK
dog: an aniaml

以上就介绍了另外一种搭建nginx_lua环境的方法,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。