Действительно простой HTML-сервер для Raspberry Pi

Действительно простой HTML-сервер для Raspberry Pi

Я запускаю Ubuntu Mate на моем Raspberry Pi 2 B+. Я хочу сделать его хостингом файла HTMl. Моя проблема в том, что у меня мало ресурсов. Например, с моей основной программой использования, которая работает на нем 24/7, не осталось памяти для запуска Firefox, поэтому мне нужно легкое решение. Мне не нужен сложный сайт, просто что-то, что возвращает этот файл sample.html, если кто-то заходитhttp://192.168.178.8(как образец)

решение1

Я так понимаю, что вы просто хотите прочитать HTML-документ на Raspberry Pi, но в системе недостаточно памяти для запуска браузера по умолчанию 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://сервер/просматривается.

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

    sudo service nginx reload
    

    и ваш Pi должен обслуживать вашу веб-страницу!

решение2

nginxлегкий веб-сервер, хорошо работает на Raspberry Pi

sudo apt-get -y установить nginx

Поместите вашу страницу по умолчанию в /var/www/html

Для настройкиредактировать /etc/nginx/nginx.conf

решение3

Установите пакет 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-файлу.

Связанный контент