Я построил дешевый веб-сервер на базе Flask на SBC — вот как вы тоже можете

    0
    2


    Допустим, вы хотите проверить свои навыки кодирования и работы с помощью SBC. Разработка веб-сервера LAMP, способного отображать динамические страницы PHP помимо сохранения важных записей в базе данных с использованием MariaDB, — это хороший способ тренировать свои мыслительные мышцы.


    Однако, если вы хорошо разбираетесь только в Python или просто хотите развернуть простой веб-сайт без всех наворотов веб-сервера Apache, вы можете вместо этого пойти по пути Flask. Итак, вот подробное руководство о том, как настроить простой веб-сервер Flask на вашем SBC.

    Что вам понадобится

    Само собой разумеется, что SBC необходим для сервера Flask. Для этого урока я использовал Raspberry Pi 5, хотя общая процедура не отличается, если вы используете другие SBC. К счастью, размещение веб-сервера на базе Flask не слишком обременительно для этих крошечных систем, поэтому вы можете сэкономить деньги, выбрав более дешевые платы.

    Вам также потребуется карта microSD для хранения файлов ОС и проекта. Для относительно простого веб-сайта вам понадобится карта с минимальным объемом памяти 8 ГБ, чтобы избежать проблем с производительностью или пространством.


    Говоря об операционной системе, мы предполагаем, что она уже установлена ​​на вашем Raspberry Pi. Для этого урока я использовал ОС Raspberry Pi, хотя вас вполне устраивают и другие дистрибутивы, такие как Ubuntu. Если вы используете Raspberry Pi, вы можете использовать наше руководство для начинающих о том, как программировать SBC, в качестве справочного материала.

    Настройка Flask на вашем SBC

    После того, как вы загрузились в операционную систему на своем SBC, вы можете начать с установки Python и Flask, прежде чем создавать несколько папок для организации файлов.

    1. Открой Терминал приложение.
      Приложение терминала Raspberry Pi
    2. Если ваша ОС еще не включает Python3, установите его с помощью этой команды:
      sudo apt install python3 -y
      Команда для установки Python3
    3. Выполните следующую команду для установки Flask:
      sudo apt-get install python3-flask -y
      Команда для установки Flask
    4. Создайте новый каталог для сохранения файлов проекта с помощью мкдир команда:
      mkdir flask_web_server
      Команда для создания папки с именем flask_web_server
    5. Перейдите во вновь созданную папку с помощью кнопки CD команда.
      cd flask_web_server
    6. Бегать мкдир чтобы создать новую папку с именем шаблоны.
      mkdir templates
      Команда mkdir используется для создания новой папки под названием «Шаблоны».

      Здесь вы сохраните все HTML-файлы вашего сайта.

    7. Еще раз выполните команду мкдир команда на статический папка.
      mkdir static
      Команда, используемая для создания статической папки

      Мы будем использовать эту папку для хранения файлов CSS.

    8. Если ваша операционная система не включает Python IDE, вам придется установить ее, прежде чем вы сможете начать работу на веб-сервере. На протяжении всего руководства я использовал Thonny, и вы можете настроить его в своей ОС с помощью Snap Store.
      sudo apt install snapdsudo snap install thonny

    Создание веб-сервера

    Теперь, когда вы установили Flask и создали все необходимые каталоги, пришло время заняться программированием.


    1. Запуск Тонни или другую среду разработки Python по вашему выбору.
    2. Вставьте следующий код в приложение:
      from flask import Flaskapp = Flask(__name__)@app.route('/')def mypage():return 'Hi there, XDA!'if __name__ == '__main__':app.run(host='0.0.0.0')
      Скрипт Python для веб-сервера на базе Flask
    3. Нажать на Сохранять кнопку, дайте скрипту имяи нажмите ХОРОШО после того, как убедитесь, что в качестве расширения файла выбрана опция «Файлы Python».
      Процедура сохранения скрипта web_server.py
    4. Вернитесь к терминалу и запустите только что созданный вами скрипт web_server.py с помощью этой команды:
      sudo python3 web_server.py
      Команда инициализации веб-сервера

      Если ты не в flask_web_server папку, обязательно переключитесь в эту директорию с помощью CD команда.

    5. Переключитесь на компьютер и введите айпи адрес вашего SBC, за которым следует двоеточие и порт 5000.
      Вкладка Chrome с IP-адресом Raspberry Pi, вставленным в строку URL.

      IP-адрес вашего устройства должен быть виден в Терминал после запуска команды инициализации веб-сервера.

    6. Если вместо этого вы хотите получить к нему доступ из своего SBC, вы можете ввести 127.0.0.1:5000 в URL-адрес вашего любимого веб-браузера.
    7. По умолчанию веб-сервер Flask будет доступен через порт 5000, но вы можете добавить порт = номер_порта фрагмент внутри приложение.run заявление, если вы используете порт 5000 для какой-либо другой службы.

    Добавление HTML-файлов на веб-сервер

    Таким образом, вы настроили простой сервер Flask. Однако на данный момент веб-сайту на базе Flask не хватает контента и пользовательского интерфейса. Вы можете добавить на сайт больше статического контента с помощью HTML-файлов.

    1. Отправляйтесь в шаблоны папку с помощью Файловый менеджер.
    2. Создать HTML-файл внутри этой папки.
      HTML-файл для веб-сервера

      Обязательно переключите тип файла на все файлы прежде чем добавлять .html расширение в конце имени файла.

    3. Снова откройте файл web_server.py, используя Тонни и импортируйте render_template функцию, объявив ее в начале файла.
      from flask import Flask, render_template
    4. Добавьте оператор возврата в разделе моя страница() вызвать render_template функция. HTML-файл отобразится на веб-странице.
      return render_template ('xda.html')
      Добавление веб-страницы HTML в Thonny
    5. Сохраните все изменения и введите перезагрузку веб-сервера, еще раз выполнив эту команду:
      sudo python3 web_server.py


    Добавление CSS-файлов на веб-сервер

    Хотя мы добавили на сайт больше контента, вы, возможно, заметили, что он выглядит довольно скучно. Технически вы можете изменить HTML-файл, чтобы он не раздражал глаз, но я предлагаю использовать сценарии CSS, чтобы улучшить пользовательский интерфейс и сделать веб-сайт более эстетичным.

    1. Отправляйтесь в статический папка.
    2. Создайте новый файл CSS в этом месте.
      Файл .css в Тонни

      Как и в случае с файлом HTML, обязательно измените расширение файла на .css прежде чем сохранить его.

    3. Снова откройте HTML-файл, который вы создали ранее.
    4. Добавьте следующий фрагмент под <голова> тег для ссылки на ваш CSS-файл.
      <link rel= "stylesheet" type= "text/css" href= "{{ url_for('static',filename='styles.css') }}">
      Код для связи файла CSS с файлом HTML
    5. Наконец, перезапустите веб-сервер с терминала.
      sudo python3 web_server.py

    Улучшение веб-сервера Flask на базе SBC

    Веб-сервер на базе Flask, работающий на Raspberry Pi 5.

    Предполагая, что вы правильно выполнили все шаги, на вашем SBC будет работать полностью функционирующий веб-сайт. Тем, кто справится с этой задачей, я предлагаю добавить несколько веб-страниц и связать их между собой с помощью фрагмент внутри HTML-файлов. Точно так же вы можете поиграть с кодами CSS, чтобы улучшить внешний вид веб-сайта.


    Если вы интересуетесь программированием, обязательно ознакомьтесь с другим нашим руководством по созданию сервера LAMP с помощью Raspberry Pi. В качестве альтернативы вы можете рассмотреть несколько простых идей проектов, если вы новичок в SBC и хотите сориентироваться, прежде чем приступать к более сложным проектам.

    Связанный
    8 простых проектов, которые можно построить с помощью любого SBC

    Кто сказал, что вам понадобится Raspberry Pi, чтобы создать свой следующий проект своими руками?

    Предыдущая статьяМогут ли некоторые функции Apple AI быть анонсированы во время запуска iPad?
    Следующая статьяШоколадница с привидениями: Все, что мы знаем о Stardew Valley
    Петр Григорин
    Интересуется софтом, разработкой и использование новых приложений, технология искусственного интеллекта. Этот писатель - человек с техническими знаниями, который увлечен разработкой программного обеспечения и использованием новых приложений. Его особенно интересуют технологии искусственного интеллекта и то, как они могут быть использованы для улучшения различных отраслей промышленности и повседневной жизни. Обладая прочной основой в области информатики и острым взглядом на инновации, этот писатель обязательно привнесет ценные идеи и соображения в любую дискуссию на эти темы. Пишет ли он о последних открытиях в области ИИ или исследует потенциал новых программных инструментов, его работа обязательно будет увлекательной и заставляющей задуматься.