Рубрики
Без рубрики

Настройка Django для развертывания: Боевик

При разработке веб-приложения Django вы обычно используете Runserver Python Manage.py … Теги с Django, Python, ConfigFile, Gunicorn.

При разработке веб-приложения Django вы обычно используете

python manage.py runserver

Чтобы запустить встроенный веб-сервер Django и запустите его на поставке по умолчанию 8000. Этот сервер разработки автоматически перезапускается при изменении кода и легко запускаться без какой-либо конфигурации. Это идеально подходит для сервера разработки, поэтому, если вы хотите встать и работать с Django, используйте сервер разработки. Недостатком использования этого сервера является то, что он не построен для производства. Это медленно, и он не может обрабатывать много запросов одновременно.

Чтобы развернуть ваше веб-приложение для производства, вам нужен готовый веб-сервер, такой веб-сервер, такой как Apache или Nginx. Эти веб-серверы обычно не могут взаимодействовать с приложениями Python напрямую. Таким образом, первый шаг – установить и настроить сервер WSGI. Интерфейс Gateway Web Server (WSGI) является стандартом для разрешения веб-приложений, написанных на Python для связи с HTTP-серверами.

Gunicorn является примером сервера WSGI. В этой статье я покажу вам, как установить, настроить и запустить боевик с приложением Django.

Виртуальная среда

Первый шаг – настроить вашу среду, создавая виртуальную среду и устанавливая Django и Gunicorn. Я использую Linux, и мой любимый способ создать виртуальную среду – использовать встроенный венчание модуль:

$ sudo apt-get install python3-venv
$ python3 -m venv .venv
$ source .venv/bin/activate

Как только виртуальная среда создана и активирована, установите Django и Gunicorn:

$ pip install django
$ pip install gunicorn

Далее создайте новый проект Django под названием MyProject Обратите внимание на период (“.”) В конце концов:

$ django-admin startproject myproject .

Теперь подтвердите, что вы можете запустить проект с помощью сервера Gunicorn:

gunicorn myproject.wsgi

Gunicorn принимает аргумент, который является названием приложения, которое он должен работать. Для проектов Django укажите его в файл WSGI в каталоге проекта. Вы увидите вывод, похожий на это:

[2021-06-03 21:48:52 +0200] [8618] [INFO] Starting gunicorn 20.1.0
[2021-06-03 21:48:52 +0200] [8618] [INFO] Listening at: http://127.0.0.1:8000 (8618)
[2021-06-03 21:48:52 +0200] [8618] [INFO] Using worker: sync
[2021-06-03 21:48:52 +0200] [8620] [INFO] Booting worker with pid: 8620

Откройте свой браузер и перейдите к http://127.0.0.1:8000. . Если все работало, как ожидалось, вы должны увидеть этот знакомый экран:

Настройка боевиков

В последнем разделе вы видели, что можно запустить боевик из командной строки без многих аргументов. На самом деле вы захотите запустить боевик С параметрами для контроля таких вещей, как журнал, отладки, SSL и количество работников для использования. Хотя можно пройти много из этих параметров к боевик Скрипт на командной строке, легче сделать это через файл конфигурации.

Создать боевик Config файл, вы можете создать каталог с именем config В вашем корневом проекте (тот же уровень, что и Manage.py ) И в нем создайте файл с .py Расширение файла и вызовите его все, что вам нравится. Конвенция – это назвать это Gunicorn.conf.py. . Это то, где вы добавите любые допустимые настройки или параметры, которые вы хотите использовать для настройки боевик сервер.

У меня есть мой проект настроен так:

# gunicorn.conf.py

command = "/home/vndlovu/django/.venv/bin/gunicorn"
pythonpath = "/home/vndlovu/django/myproject"
bind = "0.0.0.0:8000"
workers = 3

Первая настройка, команда это путь к боевик исполняемый. Gunicorn устанавливается в виртуальной среде в Bin папка по умолчанию. Следующая строка указывает путь к добавлению в путь Python. Это в основном путь к вашему рабочему каталогу. Bind Обстановка рассказывает боевик Какой IP и порт он должен слушать. Вы также можете привязать боевик в сокет Unix здесь. Последняя настройка – количество рабочих процессов, которые боевик следует использовать для обработки запросов.

Используя эти новые настройки, теперь вы можете запустить боевик Сюда:

$ gunicorn -c conf/gunicorn.conf.py myproject.wsgi

Вывод

Этот пост показал, как установить, настроить и обслуживать приложения с помощью Gunicorn. Gunicorn полезно для перевода HTTP-запросов в Python, но этого недостаточно. В большинстве случаев вы хотели бы иметь веб-сервер, выступающий в качестве входной точки для публики. Веб-сервер будет обрабатывать HTTP-запросы. В следующей статье в этой серии я покажу вам, как настроить веб-сервер Nginx.

Оригинал: “https://dev.to/vndlovu/setting-up-django-for-deployment-gunicorn-3adh”