Действительно простой 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 ресурсный хороший выбор.

  1. Установите его с

    sudo apt-get install nginx-light nginx-common
    

    Также есть nginx-full пакет, который приносит больше функциональности, но я не думаю, что здесь необходимо.

    После завершения установки сервер должен запуститься автоматически. Вы можете контролировать это с

    sudo service nginx start/stop/restart/...
    

    Если вы сейчас перейдете по адресу Raspi, вы уже увидите обслуживаемую страницу ("Добро пожаловать в nginx...")

  2. Страница приветствия, которую вы видите, подается с /var/www/html, Конфигурация хранится в /etc/nginx,

    Если вы ленивы и хотите быстро исправить, просто поместите ваши файлы в эту папку. По умолчанию документ index.html подается Если он не существует, вместо него будет использовано дерево документов. В каталоге, конечно же, находится страница приветствия. Убери это с дороги первым. Если вы хотите обслуживать файлы из другой папки, читайте дальше.

    Существуют две директории

    /etc/nginx/sites-available
    /etc/nginx/sites-enabled
    

    Первый содержит фактические файлы конфигурации, а второй содержит ссылки на эти сайты конфигурации. Эти ссылки говорят nginx обработать конфигурацию и обслуживать сайт.

Для вашей цели достаточно немного адаптировать существующую конфигурацию.

  1. Сначала удалите символическую ссылку на default

    sudo rm /etc/nginx/sites-enabled/default
    

    поэтому сервер не будет обслуживать страницу приветствия по умолчанию.

  2. Теперь скопируйте default и измени его

    cd /etc/nginx/sites-available
    sudo cp default mysite
    

    Назовите это в любом случае вам нравится лучше, чем mysite,

  3. Откройте файл в редакторе. Большинство настроек в порядке, но вам нужно адаптировать root поэтому он указывает на каталог, который содержит файлы, которые вы хотите обслуживать. Это в основном все, что вам нужно сделать, но один вариант весьма полезен:

    index: Какой документ подается при просмотре корня документа http://server/.

  4. Перезагрузите конфиг с помощью

    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.

Другие вопросы по тегам