nginx and redis as pastebin

requirement : redis nginx lua snippets nginx access_by_lua_block { local redis = require "resty.redis" local red = redis:new() red:set_timeout(1000) -- 1 sec local ok, err = red:connect("127.0.0.1", 6379,"pool_size=128") if not ok then ngx.exit(503) return end local key = ngx.var.uri local method = ngx.var.request_method if method == "POST" or method == "PUT" then -- local set value = ngx ngx.req.read_body() local data = ngx.req.get_body_data() red:set(key,data) ngx.say("ok") return end if method == "GET" then local res, err = red:get(key) if res ~= ngx.null then -- ngx.redirect(res, 301) ngx.header["Content-type"] = "text/plain; charset=UTF-8" ngx.say(res) return end end if method == "DELETE" then red:del(key) ngx.say("deleted") -- return end } location nginx location / { include /etc/nginx/snippets/api.lua; try_files $uri $uri/ =404; } redis.lua from https://github.com/openresty/lua-resty-redis/releases ...

13 juillet 2022 · 1 min

Redirection de 2 millions d'url avec nginx et redis

On a essayé de rediriger 2 millions d’url avec la fonction remaps de nginx. Les redirections occupaient beaucoup de temps CPU et chargaient la mémoire du serveur (1Go). Les temps de réponses étaient très moyens. Une autre solution est possible sans ces inconvénients. On récupère la lib lua sur OpenResty. https://github.com/openresty/lua-resty-redis On le range et on édite nginx.conf pour placer le chemin ci-dessous dans la balise http : lua_package_path "/etc/nginx/lib/redis.lua;;"; On édite la conf du vhost : ...

18 février 2019 · 1 min

Redis Master & Slave

Redis master et slave avec réplication : À tester diskless :D https://redis.io/topics/replication

25 février 2017 · 1 min