Spec-Zone.ru › Werkzeug

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 указывает, как загрузить ваше приложение. Синтаксис {module}:{app}. app — это импортируемое имя модуля с вашим приложением. app — это переменная с приложением. Если вы используете паттерн фабрики приложений, используйте --call {module}:{factory} вместо этого.

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

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

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 Pallets
Licensed under the BSD 3-clause License.
https://werkzeug.palletsprojects.com/en/latest/deployment/waitress/

Spec-Zone.ru

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