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

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

0
задан 7 October 2015 в 08:02

3 ответа

nginx является легким веб-сервером, выполнения хорошо на склонном Raspi

sudo - заставляют Место nginx

установки-y Ваша страница по умолчанию под/var/www/html

настраивать /etc/nginx/nginx.conf

редактирования
0
ответ дан 7 October 2015 в 18:02
  • 1
    @ChaiT.Rex I don' t знают, как такой NVMe управлял бы быть представленным тогда? На данный момент я добавил фильтр для /dev/mmcblk и инструкции, как добавить больше фильтров. – Byte Commander♦ 26 December 2016 в 13:26

Я беру его, что Вы действительно просто хотите прочитать документ HTML о Raspi, но система имеет недостаточно памяти для запуска ее Firefox браузера по умолчанию.

Вы могли попробовать более легкий браузер как midori. Установка с

sudo apt-get install midori


Если действительно необходимо служить страницам локальной LAN, необходимо установить веб-сервер. nginx мудро ресурсом хороший выбор.

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

    sudo apt-get install nginx-light nginx-common
    

    Существует также a 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
    

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

0
ответ дан 7 October 2015 в 18:02
  • 1
    /dev/sd* больше не используется в 16,04 для вещей как диски NVMe. /dev/nvme* используется вместо этого. – Chai T. Rex 26 December 2016 в 13:18

Пакет установки 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.

0
ответ дан 7 October 2015 в 18:02

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

Похожие вопросы: