从nginx内部使用lua删除缓存文件
我让nginx运行,它将缓存文件保存到本地磁盘。我必须不时手动清除缓存。我考虑添加一个额外的位置,比如从nginx内部使用lua删除缓存文件,nginx,lua,Nginx,Lua,我让nginx运行,它将缓存文件保存到本地磁盘。我必须不时手动清除缓存。我考虑添加一个额外的位置,比如/clear\u cache,在这里我直接用Lua删除本地文件,因为它可以嵌入nginx中。 我做了一些研究,发现了像是rewrite\u by_lua或者content\u by_lua。是否可以使用Lua访问/修改底层fs,或者是否受限制?是的,您可以删除文件: location /clear_cache { content_by_lua_block { //file
/clear\u cache
,在这里我直接用Lua删除本地文件,因为它可以嵌入nginx中。
我做了一些研究,发现了像是
rewrite\u by_lua
或者content\u by_lua
。是否可以使用Lua访问/修改底层fs,或者是否受限制?是的,您可以删除文件:
location /clear_cache {
content_by_lua_block {
//file creation
local f = assert(io.open("/newFile.txt", 'wb')) -- open in "binary" mode
f:write(body)
f:close()
//Remove file
os.remove("/newFile.txt")
}
}