Spec-Zone.ru › Flask 2.2

Waitress

Waitress — это чистый WSGI-сервер на Python.

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

Эта страница описывает основы запуска Waitress. Обязательно прочтите его документацию и 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}. app — это импортируемое имя модуля с вашим приложением. 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, а не через командную строку.

Внедрение внешне

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

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

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

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

Spec-Zone.ru

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