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}. module — это импортируемое имя модуля с вашим приложением. 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/3.0.x/deployment/waitress/