Настройка VPS для Django и Python пошаговая инструкция

Подготовка сервера и установка необходимого ПО

Перед началом убедитесь, что у вас есть доступ к VPS с операционной системой Linux (например, Ubuntu 20.04 или более новая версия). Обновите систему командой:

sudo apt update && sudo apt upgrade -y

Установите Python, pip и виртуальное окружение:

sudo apt install python3 python3-pip python3-venv -y

Создание виртуального окружения и установка зависимостей

  1. Перейдите в директорию проекта или создайте новую:
  2. mkdir ~/my_django_project && cd ~/my_django_project
  3. Создайте виртуальное окружение:
  4. python3 -m venv venv
  5. Активируйте виртуальное окружение:
  6. source venv/bin/activate
  7. Установите Django и необходимые библиотеки:
  8. pip install django gunicorn

Настройка Django проекта

Создайте новый проект или скопируйте существующий. Для создания нового выполните команду:

django-admin startproject myproject .

Обновите файл settings.py для разрешения внешних подключений:

ALLOWED_HOSTS = ['ваш_IP_или_домен']

Выполните миграции и создайте администратора:

python manage.py migrate
python manage.py createsuperuser

Настройка Gunicorn для запуска Django

Создайте системный сервис для автоматического запуска Gunicorn:

sudo nano /etc/systemd/system/gunicorn.service

Добавьте в файл конфигурацию:

[Unit]
Description=Gunicorn daemon
After=network.target
[Service]
User=ваш_пользователь
Group=www-data
WorkingDirectory=/home/ваш_пользователь/my_django_project
ExecStart=/home/ваш_пользователь/venv/bin/gunicorn --access-logfile - --workers 3 --bind unix:/home/ваш_пользователь/my_django_project/myproject.sock myproject.wsgi:application
[Install]
WantedBy=multi-user.target

Активируйте и запустите службу:

sudo systemctl start gunicorn
sudo systemctl enable gunicorn

Настройка Nginx в качестве обратного прокси

Стандартный конфигурационный файл создайте по пути:

sudo nano /etc/nginx/sites-available/myproject

Добавьте следующий блок:

server {
listen 80;
server_name ваш_домен или_IP;
location = /favicon.ico { access_log off; log_not_found off; }
location / {
include proxy_params;
proxy_pass http://unix:/home/ваш_пользователь/my_django_project/myproject.sock;
}
}

Создайте символическую ссылку и перезапустите Nginx:

sudo ln -s /etc/nginx/sites-available/myproject /etc/nginx/sites-enabled
sudo nginx -t
sudo systemctl restart nginx
 
Plitki.com © 2013-2015 «Узнай о плитке все»
Копирование материалов и статей запрещено.
Связь с нами