Часто приходится разворачивать Django-приложения на VPS, и чтобы не тратить время на одни и те же шаги, я выработал для себя определенный алгоритм. Хочу поделиться им с вами, надеюсь, кому-то пригодится.
Шаг 1: Подготовка сервера
- Подключаемся по SSH.
- Обновляем систему:
sudo apt update && sudo apt upgrade -y.
- Устанавливаем необходимые пакеты:
sudo apt install python3 python3-pip python3-venv nginx git -y.
Шаг 2: Создание виртуального окружения и установка зависимостей
- Создаем директорию для проекта:
mkdir myproject && cd myproject.
- Создаем виртуальное окружение:
python3 -m venv venv.
- Активируем его:
source venv/bin/activate.
- Устанавливаем Django и другие нужные библиотеки:
pip install django gunicorn psycopg2-binary.
Шаг 3: Настройка Django
- Создаем Django-проект:
django-admin startproject myproject ..
- Редактируем
settings.py: прописываем `ALLOWED_HOSTS` и настраиваем базу данных.
- Применяем миграции:
python manage.py migrate.
- Собираем статику:
python manage.py collectstatic.
Шаг 4: Настройка Nginx
- Создаем конфиг для Nginx:
sudo nano /etc/nginx/sites-available/myproject.
- Прописываем
server_name, location /static/ и location / с проксированием на Gunicorn.
- Создаем симлинк:
sudo ln -s /etc/nginx/sites-available/myproject /etc/nginx/sites-enabled/.
- Тестируем конфиг:
sudo nginx -t.
- Перезапускаем Nginx:
sudo systemctl restart nginx.
Шаг 5: Настройка Gunicorn
- Можно запускать Gunicorn вручную, но лучше настроить systemd-сервис для автозапуска. Создайте файл
/etc/systemd/system/gunicorn.service и пропишите все необходимые параметры.
Этот процесс я прогонял уже не раз, и он работает как часы. Помните, что это базовый вариант, и под конкретные задачи может потребоваться дополнительная настройка. Надеюсь, это поможет вам ускорить процесс развертывания ваших Django-приложений. Удачи!
kraken официальный сайт ссылка