У меня есть сценарий, который генерирует ежедневный отчет, который я хочу предоставить так называемой широкой публике. Проблема в том, что я не хочу добавлять к своей головной боли обслуживание HTTP-сервера (например, Apache) со всеми настройками и последствиями для безопасности.
Существует ли мертвое простое решение для обслуживания одной небольшой HTML-страницы без необходимости настройки полноценного HTTP-сервера?
Ответы:
Да, нвеб.
Можно найти здесь: nweb.c
(ранее на ibm.com )
Чтобы скомпилировать nweb.c:
источник
Попробуйте SimpleHTTPServer :
Он должен обслуживать все, что находится в CWD (например, index.html) по адресу http://0.0.0.0:8000 .
источник
python3 -m http.server 1337
. Насколько я могу судить, вы не можете указать, к какому IP-адресу привязываться. Примечание: для прослушивания порта 80 у вас должны быть права root, например:sudo python3 -m http.server 80
twistd -n web -p 8000 --path .
--bind <address>
был добавлен в Python 3.4 .python -m SimpleHTTPServer 3000
Существует большой список однострочников http статического сервера :
Например:
Витая (Питон)
Эрланг :
Плак (Perl)
webfs
Ruby 1.9.2+
источник
Используйте
node.js
, быстро и легко.Или же
просто используйте простую
nc
команду netcat, чтобы запустить быстрый веб-сервер на порту и обслуживать содержимое файла, включая заголовки ответа сервера.Ссылка из Википедии:
http://en.wikipedia.org/wiki/Netcat#Setting_up_a_one-shot_webserver_on_port_8080_to_present_the_content_of_a_file
источник
nc
обоснованное решение :). Обратите внимание, что-ne
флаги дляecho
могут не быть переносимыми,printf
вместо этого может быть лучше использовать команду.Начиная с версии 5.4.0 PHP также имеет встроенный веб-сервер :
Вы можете указать каталог документов веб-сервера
-t
, например:Если вы хотите иметь доступ к серверу по сети, тогда:
источник
Node имеет простой, быстрый и легкий модуль HTTP-сервера. Установить:
(Предполагая, что у вас есть
node
иnpm
уже установлены.)Чтобы запустить его, используя текущий каталог в качестве корня сайта:
Это создает сервер на
http://0.0.0.0:8080/
.источник
npm install -D http-server
в каталоге проекта и затем добавляю в свойpackage.json
файл следующие строки :"scripts": { "build": "webpack && cd src/public && http-server" },
теперь мне просто нужно запуститьnpm run build
в каталоге проекта, чтобы запустить HTTP-сервер, прослушивая порт 8080 по умолчанию.python3 -m http.server
", но он однопоточный, и за один раз можно загрузить только один клиент, остальные должны подождать. Это решение с Node.js работает лучше благодаря асинхронной природе Node. Если вы хотите поделиться файлом с несколькими людьми, используйте это.Попробуйте использовать
SimpleHTTPServer
в Python.Первые две строки настроены для веб-сервера. Последняя строка создает простой веб-сервер, открытый на порту 8080, который обслуживает только файлы
~/public_html
. Если только один файл находится в этой директории, то только то , что подвергается воздействию:http://localhost:8080/output.txt
.источник
.py
файл, затем запустите егоpython
(или сделайте его исполняемым). Имейте в виду, что вы должны работать с интерпретатором Python 2.x.Вы можете вернуться на xinetd . Поместите следующий файл конфигурации в /etc/xinetd.d/ и перезагрузите службу xinetd :
Работает для моих целей перенаправления:
источник
HTTP-сервер Oldschool Ruby WEBrick :
Убедитесь, что изменили
DocumentRoot
для вашей настройки. Смотрите также это .источник
Другим вариантом будет установка lighttpd. Далее предлагаются шаги по установке lighttpd на Unbuntu 12.04 LTS.
Примечание: Documentroot - это место, где будут размещены все файлы, доступные через Интернет. Расположение / var / wwww
Вышеуказанный шаг установит базовый веб-сервер lighttpd. Для получения дополнительной информации обратитесь к следующим ссылкам
Рекомендации:
источник
Простой рубиновый лайнер для обслуживания каталога:
источник
./devd -o -a -P devd:devd .
https://github.com/cortesi/devd/releases
источник
Простое исправление / улучшение слегка несправедливого (imho) ответа с отрицательным результатом также может работать. Давайте сначала настроим HTML-файл ...
Теперь вы можете обслужить это с помощью одной строки:
Эта базовая идея поддается другим трюкам, которые могут работать для вас с помощью других
cat
или неуловимых идей, таких как:источник
попробуй Кэдди
curl https://getcaddy.com | bash
обслуживать контент с / var / www
caddy -root /var/www "browse"
теперь вы найдете сервер по адресу http: // localhost: 2015
источник
caddy
из локального каталога и наслаждаюсь современным и безопасным веб-сервером.Простой пример netcat для добавления в скрипт bash:
источник
while [ 1=1 ] ; do echo "TEST" | nc -l 80; done
- переход к 127.0.0.1 действительно возвращает содержимое. Я должен был сделать это как корень все же. Таким образом, очень грубо - это может сделать работу, и мне это нравится. Я попытался перейти к my-hostnname.local на другой машине в локальной сети, и это тоже сработало.SFK стоит упомянуть здесь
http://stahlworks.com/dev/swiss-file-knife.html
отличный многофункциональный инструмент без зависимостей
доступны в обоих вариантах: deb и rpm
sfk httpserv -port 1234
будет обслуживать текущий каталог
sfk httpserv -port 1234 -rw
также позволит загружать файлы
источник
Pure Bash: веб-сервер в сценарии оболочки .
Также вам понадобится xinetd (я думаю, что он доступен в любом дистрибутиве), чтобы прослушивать порт и запускать скрипт, когда это необходимо, чтобы вам не приходилось кодировать стек tcp и т. Д. В bash.
источник
Я использовал эти инструкции для установки веб-сервера на моей машине CentOS без необходимости использования sudo или касания каких-либо системных файлов:
Первая установка узла:
Затем установите http-сервер:
Затем запустите http-сервер на порт 12321:
источник
Я
nc
немного улучшил решение, так что это:filename=
подсказку,/tmp/serveFile-$PORT
чтобы вы могли потом легко его убить.,
Можно также использовать,
nc -k -l ...
но таким образом вы можетеисточник