Действительно простой 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 обработать конфигурацию и обслуживать сайт.
Для вашей цели достаточно немного адаптировать существующую конфигурацию.
Сначала удалите символическую ссылку на
default
sudo 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.