Lua-aromatisiertes Nginx-Umschreiben oder interner Umleitungszyklus

Lua-aromatisiertes Nginx-Umschreiben oder interner Umleitungszyklus

Ich bin neu bei nginxund lua. Ich versuche, diesem Tutorial zu folgenhttp://leafo.net/posts/creating_an_image_server.html#installation_requirementsaber ich kriege es beim besten Willen nicht hin nginx.conf.

Ich habe andere Fragen ähnlich überprüftDaswo das Problem liegt location, aber ich kann nicht erkennen, was mit meinem Code nicht stimmt.

Hier ist das nginx.conf:

error_log stderr notice;
daemon off;

events { }

http {
  include /usr/local/openresty/nginx/conf/mime.types;

  server {
    listen 6789;
    lua_code_cache on;

    location @image_server {
      content_by_lua_file "serve_image.lua";
    }

    location ~ ^/images/(?<size>[^/]+)/(?<path>.*\.(?<ext>[a-z_]*))$ {
      root cache;
      try_files /$path @image_server;
    }

  }
}

Und das ist der serve_image.luaCode

local sig, size, path, ext =

ngx.var.sig, ngx.var.size, ngx.var.path, ngx.var.ext local images_dir = "images/" – woher die Bilder kommen local cache_dir = "cache/" – wo die Bilder zwischengespeichert werden

local function return_not_found(msg)
  ngx.status = ngx.HTTP_NOT_FOUND
  ngx.header["Content-type"] = "text/html"
  ngx.say(msg or "not found")
  ngx.exit(0)
end

local source_fname = images_dir .. path
ngx.log(ngx.STDERR, "->>>>  " .. source_fname)

-- make sure the file exists
local file = io.open(source_fname)

if not file then
  ngx.log(ngx.STDERR, "Couldn't find the input file" .. source_fname)
  return_not_found()
end

file:close()

local dest_fname = cache_dir .. "/" .. size .. "/" .. path

-- resize the image
local magick = require("magick")
magick.thumb(source_fname, size, dest_fname)

ngx.exec(ngx.var.request_uri)

Wenn ich den Server starte, erhalte ich den Code 500.

Dies ist der Fehler im Terminal

rewrite or internal redirection cycle while redirect to named location "@image_server", client: 127.0.0.1, server: , request: "GET /images/80x80/wow.png HTTP/1.1", host: "localhost:6789"

Ich hoffe, dass ein erfahreneres und frischeres Paar Augen mir sagen kann, was ich falsch mache. Danke.

verwandte Informationen