Android

Как установить колбу на Centos 7

How to Deploy a Flask App to a Linux Server

How to Deploy a Flask App to a Linux Server

Оглавление:

Anonim

Flask - это бесплатная микро-инфраструктура с открытым исходным кодом для Python, предназначенная для помощи разработчикам в создании безопасных, масштабируемых и поддерживаемых веб-приложений. Flask основан на Werkzeug и использует Jinja2 в качестве движка шаблонов.

В отличие от Django, по умолчанию Flask не включает ORM, проверку формы или любые другие функции, предоставляемые сторонними библиотеками. Flask построен с учетом расширений, которые представляют собой пакеты Python, которые добавляют функциональность в приложение Flask.

Существуют разные способы установки Flask, в зависимости от ваших потребностей. Он может быть установлен в масштабе всей системы или в виртуальной среде Python с использованием pip.

Пакеты Flask также включены в репозитории EPEL и могут быть установлены с помощью менеджера пакетов yum . Это самый простой способ установить Flask в CentOS 7, но он не такой гибкий, как установка в виртуальной среде. Кроме того, версия, включенная в репозитории, всегда отстает от последней версии Flask.

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

Установка Flask на CentOS 7

В следующих разделах мы расскажем, как установить Flask в виртуальной среде Python на CentOS 7.

1. Установка Python 3 и venv

Мы установим Python 3.6 из репозиториев Software Collections (SCL).

CentOS 7 поставляется с Python 2.7.5, который является важной частью базовой системы CentOS. SCL позволит вам установить более новые версии python 3.x вместе со стандартным python v2.7.5, чтобы системные инструменты, такие как yum, продолжали работать должным образом.

Включите SCL, установив файл выпуска CentOS SCL, который включен в репозиторий CentOS extras:

sudo yum install centos-release-scl

Как только репозиторий будет включен, установите Python 3.6 с помощью следующей команды:

sudo yum install rh-python36

После установки Python 3.6 мы готовы создать виртуальную среду для нашего приложения Django.

2. Создание виртуальной среды

Начните с перехода в каталог, где вы хотите хранить виртуальные среды Python 3. Это может быть ваш домашний каталог или любой другой каталог, где у вашего пользователя есть права на чтение и запись.

Чтобы получить доступ к Python 3.6, вам нужно запустить новый экземпляр оболочки с помощью инструмента scl :

scl enable rh-python36 bash

Создайте новый каталог для вашего приложения Flask и перейдите в него:

mkdir my_flask_app cd my_flask_app

Выполните следующую команду, чтобы создать новую виртуальную среду:

python3 -m venv venv

Приведенная выше команда создаст каталог с именем venv , который содержит копию двоичного venv Python, менеджера пакетов Pip, стандартной библиотеки Python и других вспомогательных файлов. Вы можете использовать любое имя для виртуальной среды.

Активируйте виртуальную среду, используя скрипт activate :

source venv/bin/activate

После активации каталог bin виртуальной среды будет добавлен в начало $PATH . Кроме того, приглашение вашей оболочки изменится и будет отображать имя виртуальной среды, которую вы используете в данный момент. В нашем случае это venv :

3. Установка колбы

Теперь, когда виртуальная среда активирована, вы можете использовать pip менеджера пакетов Python для установки Flask:

pip install Flask В виртуальной среде вы можете использовать команду pip вместо pip3 и python вместо python3 .

Проверьте установку с помощью следующей команды, которая выведет версию Flask:

python -m Flask --version

На момент написания этой статьи последняя официальная версия Flask - 1.0.2.

Flask 1.0.2 Python 3.6.3 (default, Mar 20 2018, 13:50:41)

Ваша версия Flask может отличаться от версии, показанной здесь.

4. Создание приложения с минимальной колбой

В этом руководстве мы создадим простое приложение hello world, которое будет отображать текст «Hello World!».

Откройте ваш текстовый редактор или Python IDE и создайте следующий файл:

~ / My_flask_app / hello.py

from flask import Flask app = Flask(__name__) @app.route('/') def hello_world(): return 'Hello World!'

Давайте проанализируем код построчно.

  1. В первой строке мы импортируем класс Flask. Далее мы создаем экземпляр класса Flask. Затем мы используем декоратор route() для регистрации функции hello_world для / route. Когда запрашивается этот маршрут, hello_world и клиенту возвращается сообщение «Hello World!».

Сохраните файл как hello.py и вернитесь в окно терминала.

5. Тестирование сервера разработки

Мы будем использовать команду flask для запуска приложения, но перед этим нам нужно указать Flask, как загрузить приложение, указав переменную среды FLASK_APP :

export FLASK_APP=hello flask run

Команда выше запустит встроенный сервер разработки.

Вывод будет выглядеть примерно так:

* Serving Flask app "hello" * Environment: production WARNING: Do not use the development server in a production environment. Use a production WSGI server instead. * Debug mode: off * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit) Если вы установили Flask на виртуальной машине и хотите получить доступ к серверу разработки Flask, вы можете сделать этот сервер общедоступным, добавив --host=0.0.0.0 в команду flask run flb.

Откройте http://127.0.0.1:5000 в своем веб-браузере, и вы увидите сообщение «Hello World!».

Чтобы остановить сервер разработки, введите CTRL-C в своем терминале.

6. Деактивация виртуальной среды

Как только вы закончите свою работу, деактивируйте среду, набрав deactivate и вы вернетесь к своей обычной оболочке.

deactivate

Вывод

Вы узнали, как создать виртуальную среду Python и установить Flask на вашем компьютере с CentOS 7. Чтобы создать дополнительные среды разработки Flask, повторите шаги, описанные в этом руководстве.

питон сентос