Деплой django 3 на сервер от начала до конца

Телеграм канал: В видео показываю как легко и просто задеплоить приложение на новой django 3 версии, которая внезапно стала асинхронной, показываю что использовать вместо gunicorn. Разворачиваю все на Ubuntu python 3.8. Таймкоды 00:00 О чем видео 00:58 Настройка виртуал бокс и ssh 02:00 Установка и обзор библиотек 03:35 Настройка Postgres 06:05 Подготовка python окружения 08:23 О замене gunicorn - uvicorn 09:38 Подготовка django 12:22 Настройка supervisor 16:20 Настройка nginx 20:19 Проверяем что все успешно 22:17 Послесловие Команды На всякий случай ссылка на инструкцию как установить ssh Установка нужных библиотек sudo apt update sudo apt install python3-pip python3-dev python3-venv libpq-dev postgresql postgresql-contrib nginx supervisor Настройка постгрис sudo -u postgres psql CREATE DATABASE db_name; CREATE USER test_user WITH PASSWORD ’1234’; ALTER ROLE test_user SET client_encoding TO ’utf8’; ALTER ROLE test_user SET default_transaction_isolation TO ’read committed’; ALTER ROLE test_user SET timezone TO ’GMT 3’; GRANT ALL PRIVILEGES ON DATABASE db_name TO test_user; \q Репозиторий с проектом git clone Создаем виртуальное окружение и устанавливаем зависимости python3.8 -m venv venv source venv/bin/activate python3.8 -m pip install -r python3.8 -m pip install uvicorn Переходим в папку с проектом (django 3) python3.8 migrate python3.8 collectstatic pytohn3.8 createsuperuser Проверяем uvicorn python -m uvicorn :application --uds /tmp/ Настраиваем supervisor sudo nano /etc/supervisor/ [program:django] command = /home/vmax/venv/bin/python3.8 -m uvicorn :application --uds /tmp/ directory = /home/vmax/django3 stderr_logfile=/var/log/ stdout_logfile=/var/log/ autostart=true autorestart=true Перезапуск supervisor service supervisor restart Настраиваем nginx sudo cp /etc/nginx/sites-available/default /etc/nginx/sites-available/default-backup sudo nano /etc/nginx/sites-available/default server { listen 80; server_name ; charset utf-8; client_max_body_size 10M; location /static { alias /home/vmax/django3/static; } location / { proxy_set_header Host $http_host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_redirect off; proxy_buffering off; proxy_pass http://uvicorn; } } upstream uvicorn { server unix:/tmp/; } Перезапуск nginx service nginx restart
Back to Top