Nginx, как выполнить сценарий оболочки на загрузке страницы через lua модуль OS, выполняют и затем обслуживают список каталогов?

Таким образом, у меня есть сценарий удара, который я хочу выполниться/выполнить на каждой "загрузке страницы" URL так, чтобы это изменило (создающий символьные ссылки) к a /public/html/ папка, которой я хочу, чтобы сервер затем служил.

Проблема, я выяснил, как сделать один или другой не оба.

Я могу показать каталог с корнем nginx /public/html/ и т.д. или я могу запустить скрипт при наличии вместо корня /public/html/ наличие:

content_by_lua("/myscript.sh")';

Но если я использую содержание lua, сценарий действительно выполняет и создает то, в чем я нуждаюсь внутри /public/html но Nginx затем просто показывает пустой экран. Я хочу способ затем иметь nginx, на самом деле показывают список каталогов /public/html после того, как это работает myscript.sh использование content_by_lua.

Я только что начал использовать nginx из-за этой задачи и невежествен, как сделать это, я искал вокруг, но не легкий вопрос формулировать для Google или здесь.

1
задан 21 April 2017 в 11:05
1 ответ

Может я разобрался? Я добавил ngx.redirect ("/"); Итак, у меня есть / with location / public / html / в моем nginx.conf, а также:

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

Я бы предпочел только одно «местоположение» вместо использования подобного перенаправления, но, по крайней мере, у меня есть кое-что, что, кажется, работает . Улучшения приветствуются.

2
ответ дан 3 December 2019 в 20:56

Теги

Похожие вопросы