Учебники

Настой — Развертывание

Приложение Flask на сервере разработки доступно только на компьютере, на котором настроена среда разработки. Это поведение по умолчанию, поскольку в режиме отладки пользователь может выполнить произвольный код на компьютере.

Если отладка отключена, сервер разработки на локальном компьютере можно сделать доступным для пользователей в сети, указав имя хоста «0.0.0.0» .

app.run(host = ’0.0.0.0’)

Таким образом, ваша операционная система прослушивает все общедоступные IP-адреса.

развертывание

Для перехода от среды разработки к полноценной производственной среде необходимо развернуть приложение на реальном веб-сервере. В зависимости от того, что у вас есть, для развертывания веб-приложения Flask доступны разные варианты.

Для небольших приложений вы можете рассмотреть возможность его развертывания на любой из следующих размещенных платформ, каждая из которых предлагает бесплатный план для небольшого приложения.

  • Heroku
  • dotcloud
  • webfaction

Приложение Flask может быть развернуто на этих облачных платформах. Кроме того, можно развернуть приложение Flask на облачной платформе Google. Сервис Localtunnel позволяет вам поделиться своим приложением на локальном хосте, не вмешиваясь в настройки DNS и брандмауэра.

Если вы склонны использовать выделенный веб-сервер вместо вышеупомянутых общих платформ, вам необходимо изучить следующие варианты.

mod_wsgi

mod_wsgi — это модуль Apache, который предоставляет WSGI-совместимый интерфейс для размещения веб-приложений на основе Python на сервере Apache.

Установка mod_wsgi

Чтобы установить официальный релиз прямо из PyPi, вы можете запустить —

pip install mod_wsgi

Чтобы убедиться, что установка прошла успешно, запустите скрипт mod_wsgi-express с помощью команды start-server —

mod_wsgi-express start-server

Это запустит Apache / mod_wsgi на порт 8000. Затем вы можете убедиться, что установка прошла успешно, указав в браузере —

http://localhost:8000/

Создание файла .wsgi

Там должен быть файл yourapplication.wsgi . Этот файл содержит код mod_wsgi, который выполняется при запуске для получения объекта приложения. Для большинства приложений достаточно иметь следующий файл:

from yourapplication import app as application

Убедитесь, что yourapplication и все используемые библиотеки находятся на пути загрузки Python.

Настройка Apache

Вам нужно сообщить mod_wsgi, где находится ваше приложение.

<VirtualHost *>
   ServerName example.com
   WSGIScriptAlias / C:\yourdir\yourapp.wsgi

   <Directory C:\yourdir>
      Order deny,allow
      Allow from all
   </Directory>

</VirtualHost>

Автономные контейнеры WSGI

Есть много популярных серверов, написанных на Python, которые содержат приложения WSGI и обслуживают HTTP.