Nginx 如何通过 lua 模块操作系统执行在页面加载时运行 shell 脚本,然后提供目录列表?

Nginx 如何通过 lua 模块操作系统执行在页面加载时运行 shell 脚本,然后提供目录列表?

所以我有一个 bash 脚本,我想在 url 的每个“页面加载”时执行/运行它,以便它修改(创建符号链接)到/public/html/ 我希望服务器提供的文件夹。

问题是我知道如何只做其中一个,而不是同时做两个。

我可以使用 nginx root 等显示目录/public/html/ ,或者我可以使用以下方法(而不是 root)来运行脚本/public/html/

content_by_lua("/myscript.sh")';

但是如果我使用 lua 内容,脚本会运行并在其中创建我需要的内容,但 Nginx 只会显示一个空白屏幕。我想要一种方法,让 nginx在运行using后/public/html实际显示目录列表。/public/htmlmyscript.shcontent_by_lua

因为这个任务,我刚刚开始使用 nginx,但不知道该怎么做,我确实搜索了一下,但对于谷歌或这里来说,这不是一个容易表述的问题。

答案1

也许我刚刚才明白?我添加了 ngx.redirect("/"); 因此我的 nginx.conf 中有一个 / ,位置为 /public/html/ ,还有一个:

    location /lua {
    default_type text/plain;
    content_by_lua '
    os.execute("/myscript.sh")
    return ngx.redirect("/")';

我本来希望只使用一个“位置”,而不是使用那样的重定向,但至少我有一个似乎可行的方法。欢迎改进。

相关内容