[t:/]$ 지식_

nginx lua로 uuid 얻기

2019/08/27
init_by_lua_block {

    function get_uuid()
        local f = assert(io.open("/proc/sys/kernel/random/uuid", "rb"))
        local content = f:read("*all")
        f:close()
        return  content:sub(1, -2)
    end

이 함수 쓰면 된다. 리눅스에서만 동작하고 맥에선 안 될듯. BSD 계통도 proc을 지원하는지 모르겠다. 초고성능 요구 시스템에서 파일 오픈을 건 바이 건으로 한다는 것은 조금 걸리는데 뭐 proc인데 별 문제 있으랴. 아님 말고요~

init worker에서 파일을 오픈해두고 계속 쓴 다음 worker 닫힐 때만 close 하도록 하면 더 좋을 텐데 nginx lua close 후킹콜을 못 찾았다.









[t:/] is not "technology - root". dawnsea, rss