首頁  >  文章  >  後端開發  >  另外一種建構nginx_lua環境的方法

另外一種建構nginx_lua環境的方法

WBOY
WBOY原創
2016-08-08 09:30:091019瀏覽
使用大牛 ZhangYichun(http://openresty.org/) 提供的整合套件快速安裝。

非常簡單,下載 ngx_openresty,該整合包中有:Nginx,Lua或Luajit,ngx_lua,以及一些有用的Nginx第三方模組。

例如:

nginx的第三方模組redis,這個包實質就是一個.lua文件,是個庫文件,提供一些訪問redis的接口:

將其下載下來: 

將其下載下來: 

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;

   

dog: an aniaml

以上就介紹了另一種建構nginx_lua環境的方法,包括了方面的內容,希望對PHP教程有興趣的朋友有所幫助。 🎜 🎜 🎜
陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn