Spec-Zone.ru › Flask 2.3

Официантка

Официантка — это чистый WSGI-сервер на Python.

  • Её легко настроить.
  • Она поддерживает Windows напрямую.
  • Её легко установить, так как она не требует дополнительных зависимостей или компиляции.
  • Она не поддерживает потоковую передачу запросов, все данные запроса всегда буферизуются.
  • Она использует один процесс с несколькими потоковыми рабочими элементами.

На этой странице описаны основы запуска Официантки. Обязательно ознакомьтесь с её документацией и waitress-serve --help для понимания доступных функций.

Установка

Создайте виртуальное окружение, установите своё приложение, а затем установите waitress.

$ cd hello-app
$ python -m venv .venv
$ . .venv/bin/activate
$ pip install .  # install your application
$ pip install waitress

Запуск

Единственный обязательный аргумент для waitress-serve указывает, как загрузить ваше приложение Flask. Синтаксис: {module}:{app}. module — это импортируемое имя модуля с вашим приложением. app — это переменная с приложением. Если вы используете шаблон фабрики приложений, используйте --call {module}:{factory} вместо этого.

# equivalent to 'from hello import app'
$ waitress-serve --host 127.0.0.1 hello:app

# equivalent to 'from hello import create_app; create_app()'
$ waitress-serve --host 127.0.0.1 --call hello:create_app

Serving on http://127.0.0.1:8080

Опция --host привязывает сервер только к локальному 127.0.0.1.

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

Внешняя привязка

Официантку не следует запускать от имени root, так как это заставит ваш код приложения работать от имени root, что небезопасно. Однако это означает, что будет невозможно привязаться к порту 80 или 443. Вместо этого следует использовать обратный прокси, такой как nginx или Apache httpd перед Официанткой.

Вы можете привязаться ко всем внешним IP-адресам на порту, не имеющем привилегий, не указывая опцию --host. Не делайте этого при использовании настройки обратного прокси, иначе будет возможен обход прокси.

0.0.0.0 — это не допустимый адрес для перехода, вы будете использовать конкретный IP-адрес в своём браузере.

© 2007–2022 Pallets
Licensed under the BSD 3-clause License.
https://flask.palletsprojects.com/en/2.3.x/deploying/waitress/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API