Действительно простой HTML-сервер для Raspberry Pi
Я использую Ubuntu Mate на своем Raspberry Pi 2 B + . Я хочу сделать это, размещая файл HTMl. Моя проблема в том, что у меня мало ресурсов. Например, с моей основной программой использования, которая работает 24/7 на нем, не осталось памяти для запуска Firefox, поэтому мне нужно легкое решение. Мне не нужен сложный сайт, просто что-то, что возвращает этот файл sample.html, если кто-то заходит на http://192.168.178.8/ (как образец)
3 ответа
Я предполагаю, что вы действительно хотите прочитать HTML-документ на Raspi, но системе не хватает памяти, чтобы запустить браузер по умолчанию Firefox.
Вы можете попробовать более легкий браузер, как midori, Установить с
sudo apt-get install midori
Если вам действительно необходимо обслуживать страницы в локальной сети, вам необходимо установить веб-сервер.
nginx ресурсный хороший выбор.Установите его с
sudo apt-get install nginx-light nginx-commonТакже есть
nginx-fullпакет, который приносит больше функциональности, но я не думаю, что здесь необходимо.После завершения установки сервер должен запуститься автоматически. Вы можете контролировать это с
sudo service nginx start/stop/restart/...Если вы сейчас перейдете по адресу Raspi, вы уже увидите обслуживаемую страницу ("Добро пожаловать в nginx...")
Страница приветствия, которую вы видите, подается с
/var/www/html, Конфигурация хранится в/etc/nginx,Если вы ленивы и хотите быстро исправить, просто поместите ваши файлы в эту папку. По умолчанию документ
index.htmlподается Если он не существует, вместо него будет использовано дерево документов. В каталоге, конечно же, находится страница приветствия. Убери это с дороги первым. Если вы хотите обслуживать файлы из другой папки, читайте дальше.Существуют две директории
/etc/nginx/sites-available /etc/nginx/sites-enabledПервый содержит фактические файлы конфигурации, а второй содержит ссылки на эти сайты конфигурации. Эти ссылки говорят nginx обработать конфигурацию и обслуживать сайт.
Для вашей цели достаточно немного адаптировать существующую конфигурацию.
Сначала удалите символическую ссылку на
defaultsudo rm /etc/nginx/sites-enabled/defaultпоэтому сервер не будет обслуживать страницу приветствия по умолчанию.
Теперь скопируйте
defaultи измени егоcd /etc/nginx/sites-available sudo cp default mysiteНазовите это в любом случае вам нравится лучше, чем
mysite,Откройте файл в редакторе. Большинство настроек в порядке, но вам нужно адаптировать
rootпоэтому он указывает на каталог, который содержит файлы, которые вы хотите обслуживать. Это в основном все, что вам нужно сделать, но один вариант весьма полезен:index: Какой документ подается при просмотре корня документа http://server/.Перезагрузите конфиг с помощью
sudo service nginx reloadи ваш пи должен обслуживать вашу веб-страницу!
nginx - легкий веб-сервер, хорошо работает на Raspi
sudo apt-get -y установить nginx
Поместите страницу по умолчанию в /var/www/html
Для настройки edit /etc/nginx/nginx.conf
Установить пакет netcat-openbsd, С этим следующий скрипт оболочки дает вам очень упрощенный веб-сервер, который просто всегда возвращает ваш sample.html по любому запросу.
Обратите внимание, что он не может предоставить никаких дополнительных файлов, таких как изображения, файлы CSS или аналогичные.
#!/bin/sh
while (
printf "HTTP/1.1 200 OK\r\n"
printf "Content-Type: text/html\r\n"
printf "\r\n"
cat /path/to/sample.html
) | nc -l 80 >/dev/null; do echo; done
замещать /path/to/sample.html с путем вашего фактического файла HTTP.