РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
246 of 252 menu

Сервер gunicorn

Сервер gunicorn представляет собой WSGI-сервер для Unix-систем, который запускает приложение Bottle и управляет рабочими процессами. Gunicorn (Green Unicorn) является одним из самых популярных серверов для развёртывания Python-приложений в продакшене. Он позволяет гибко настраивать количество воркеров и потоков, а также обеспечивает стабильную работу под высокой нагрузкой.

В контексте Bottle сервер gunicorn запускается через командную строку с указанием модуля приложения. Bottle предоставляет встроенную поддержку gunicorn, что позволяет запускать приложение без дополнительной настройки WSGI-интерфейса.

Основные параметры сервера gunicorn:

-w или --workers - количество рабочих процессов;

-b или --bind - адрес и порт для прослушивания;

-k или --worker-class - тип рабочих процессов;

--threads - количество потоков на каждый рабочий процесс;

--reload - автоматическая перезагрузка при изменении кода.

Синтаксис

gunicorn [options] module:app

Пример

Давайте создадим простое приложение Bottle и запустим его через gunicorn:

from bottle import Bottle app = Bottle() @app.route('/') def index(): return 'hello'

Запустим сервер gunicorn с одним рабочим процессом на порту 8080:

gunicorn -w 1 -b 0.0.0.0:8080 app:app

После запуска сервер будет доступен по адресу http://localhost:8080/. Результат выполнения запроса:

hello

Пример

Давайте запустим gunicorn с несколькими рабочими процессами и потоками для обработки высокой нагрузки:

gunicorn -w 4 --threads 2 -b 0.0.0.0:8080 app:app

Эта команда запустит 4 рабочих процесса, каждый из которых будет использовать 2 потока. Общее количество одновременных обработчиков составит 8.

Пример

Давайте добавим автоматическую перезагрузку сервера при изменении кода:

gunicorn -w 1 --reload -b 0.0.0.0:8080 app:app

При изменении файла app.py сервер автоматически перезагрузится. Это удобно использовать в процессе разработки.

Смотрите также

  • команду run,
    которая запускает встроенный сервер разработки
  • команду load_app,
    которая загружает приложение из модуля
  • параметр host,
    который задаёт адрес для прослушивания
  • параметр port,
    который задаёт порт для прослушивания
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить