Назад | Перейти на главную страницу

Каким образом «встроить» скрипт для загрузки / удаления файла на веб-сервере?

Мне нужно, чтобы сервер работал так:

Проверьте, существует ли запрошенный файл локально.

Я успешно реализовал это поведение с помощью nginx (с использованием обработчика ошибок 404) и PHP. Дело в том, что для реализации этого на другом сервере мне нужно установить / скомпилировать и nginx, и php.

Мой вопрос в том, есть ли способ удалить php из стека и установить nginx (или какой-либо другой сервер) для выполнения этой работы. Идеальным способом для меня было бы запускать / вызывать сценарии / команды bash прямо с сервера.

Кто-нибудь может указать мне правильное направление?

То, что вы пытаетесь сделать, можно очень легко выполнить с помощью простого CGI и сценария оболочки. Как вы включаете / внедряете CGI, зависит от сервера. Nginx должен быть способным, но я знаю, что Apache способен. Обратитесь к документации или задайте конкретный вопрос о включении CGI на данном веб-сервере.

Простая логика bash для проверки существования файла и его отображения:

#!/bin/bash

FILE="/path/to/file"
URI="http://example.com/file"

/bin/echo "Content-type: text/plain"
/bin/echo

if [ -f $FILE ]; then
  /bin/cat $FILE
else
  /usr/bin/wget $URI
fi

Вы можете проанализировать $ {QUERY_STRING}, чтобы получить действие удаления. Я оставлю вам полное решение и обработку ошибок в качестве упражнения. Это становится немного сложнее и выходит за рамки нашего формата вопросов и ответов.

Видеть: Разбор QUERY_STRING в Bash CGI Scripts