Итак, у меня есть сценарий bash, который я хочу выполнять / запускать при каждой «загрузке страницы» URL-адреса, чтобы он изменял (создавая символические ссылки) на /public/html/
папка, которую я хочу, чтобы сервер затем обслуживал.
Проблема в том, что я понял, как сделать то или другое, а не то и другое одновременно.
Я могу показать каталог с корнем nginx /public/html/
и т.д. или я могу запустить сценарий, вместо root /public/html/
имея:
content_by_lua("/myscript.sh")';
Но если я использую контент по lua, скрипт запускается и создает то, что мне нужно внутри /public/html
но тогда Nginx просто показывает пустой экран. Мне нужен способ, чтобы nginx действительно отображал список каталогов /public/html
после того, как он запустит myscript.sh
с помощью content_by_lua
.
Я только начал использовать nginx из-за этой задачи и не знаю, как это сделать, я поискал, но это непростой вопрос для Google или здесь.
Может я просто разобрался? Я добавил ngx.redirect ("/"); Итак, у меня есть / with location / public / html / в моем nginx.conf, а также:
location /lua {
default_type text/plain;
content_by_lua '
os.execute("/myscript.sh")
return ngx.redirect("/")';
Я бы предпочел использовать только одно «местоположение», а не использовать такое перенаправление, но, по крайней мере, у меня есть кое-что, что, кажется, работает. Улучшения приветствуются.