English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Приложения Flask на разработочном сервере доступны только на компьютерах, на которых установлена среда разработки. Это является стандартным поведением, так как в режиме отладки пользователи могут выполнять любые коды на компьютере.
Если отладка отключена, установив имя хоста в :0.0.0.0, пользователи в сети смогут использовать разработочный сервер на вашем локальном компьютере.
# Filename : example.py # Copyright : 2020 By w3codebox # Author by : ru.oldtoolbag.com # Date : 2020-08-08 app.run(host = '0.0.0.0')
Таким образом, ваша операционная система будет прослушивать все общие IP, что означает, что все запросы будут обрабатываться.
Чтобы перейти от разработочной среды к полному производственному окружению, приложение должно быть развернуто на реальном веб-сервере. В зависимости от вашей конкретной ситуации, вы можете использовать различные параметры для развертывания веб-приложений Flask.
Для небольших приложений можно рассмотреть возможность их развертывания на任何一个 из следующих хостинговых платформ, все они предоставляют бесплатные планы для небольших приложений.
Heroku dotcloud webfaction
Flask-приложения могут быть развернуты на этих облачных платформах. Кроме того, Flask-приложения можно развернуть на платформе Google Cloud. Услуга Localtunnel позволяет вам делиться своим приложением на локальном хосте, не путая настройки DNS и брандмауэра.
Если вы предпочитаете использовать专用 веб-сервер вместо вышеуказанных общих платформ, вы можете использовать следующие параметры.
mod_wsgi - это модуль Apache, который предоставляет интерфейс совместимости WSGI для托管 веб-приложений на основе Python в сервере Apache.
Установить mod_wsgi
Чтобы установить официальную версию напрямую с PyPi, можно запустить -
# Filename : example.py # Copyright : 2020 By w3codebox # Author by : ru.oldtoolbag.com # Date : 2020-08-08 pip install mod_wsgi
Чтобы проверить успешность установки, выполните команду start-server для скрипта mod_wsgi-express -
# Filename : example.py # Copyright : 2020 By w3codebox # Author by : ru.oldtoolbag.com # Date : 2020-08-08 mod_wsgi-express start-server
Он запустится на порту: 8000 Apache/mod_wsgiЗатем, можно направить браузер на -
# Filename : example.py # Copyright : 2020 By w3codebox # Author by : ru.oldtoolbag.com # Date : 2020-08-08 http://localhost:8000/
Создание файла .wsgi
Должен быть yourapplication.wsgi Файл. Этот файл содержит код mod_wsgi, который выполняется при запуске для получения объекта приложения. Для большинства приложений следующий файл должен быть достаточным -
# Filename : example.py # Copyright : 2020 By w3codebox # Author by : ru.oldtoolbag.com # Date : 2020-08-08 from yourapplication import app as application
Убедитесь, что yourapplication и все используемые библиотеки находятся в python-пути загрузки.
Конфигурация Apache
Необходимо сообщить mod_wsgi, где находится приложение. Укажите следующую конфигурацию -
# Filename : example.py # Copyright : 2020 By w3codebox # Author by : ru.oldtoolbag.com # Date : 2020-08-08 <VirtualHost *> ServerName example.com WSGIScriptAlias / C:\yourdir\yourapp.wsgi <Directory C:\yourdir> Order deny,allow Allow from all </Directory> </VirtualHost>
Есть много популярных серверов, написанных на Python, которые содержат приложения WSGI и предоставляют HTTP-сервис.
Gunicorn Tornado Gevent Twisted Web