nginx — запуск сценария оболочки / python при запросе wget

#http #nginx #server #wget

#http #nginx #сервер #wget

Вопрос:

Я хочу запустить сценарий оболочки / python для каждого wget на моем сервере nginx.

Например, если я выполняю wget http:///text.txt?example=100

Я хочу вызвать скрипт, который генерирует новый файл с именем text100.txt , и возвращает его.

Другими словами, могу ли я передать параметры GET скрипту и вернуть произвольные файлы из этого скрипта, чтобы клиент wget загрузил их?

Спасибо!

Ответ №1:

То, о чем вы спрашиваете, называется cgi-bin .

Однако я бы не рекомендовал его использовать;

  • Я бы рекомендовал вообще не использовать сценарии оболочки для веб-обслуживания и
  • для Python я бы предложил один из веб-микро-фреймворков, таких как flask.

Комментарии:

1. Спасибо за ваш ответ. Я видел, что cgi возвращает стандартный вывод. В таком случае, как я могу вернуть содержимое файлов из скрипта?

2. В сценарии оболочки вы можете использовать cat ; однако вы, скорее всего, столкнетесь с дырой в безопасности. В python вы можете использовать print() или sys.stdout.write() . Опять же, однако, гораздо лучше использовать современную веб-платформу; cgi-bin теперь представляет в значительной степени только исторический интерес.