- Зарегистрировать сервер, можно на Digitalocean, Heroku
- Установить nginx (apt-install nginx)
- Создать файл requirements.txt на локалке
- Клонировать проект на сервер в root/[название проекта]
- Проверить версию Python, pip
- Установить зависимости из файла requirements.txt
- Создать config nginx в папке conf проекта на локалке
- Копировать config в настройки nginx /etc/nginx/sites-available/. Стандартный удалить default или его заменить
- Создать символьную ссылку, иначе nginx не увидит config: ln -s /etc/nginx/sites-available/django.conf /etc/ngins/sites-enabled/
- Добавить allowed_hosts в settings.py в проект django
- Установить postgresql на сервер
- Зайти в консоль postgresql
- Создать юзера postgresql
- Создать базу данных
- Дать права на управление БД созданному пользователю
- Revoke — запрет другим пользователям просматривать данные БД
- Попробовать приконектиться
- Настроить на приём внешних запросов postgresql, настроить конфиг файл postgresql
- Перезапустить service postgresql restart
- Простестировать соединение, напирмер, через Valentino
- Настройка БД в settings.py Django
- Dumpdata -> создание fixtures
- Loaddata
- Добавить файл local_settings.py
- Добавить в config nginx обработку статики и медиа через location
- Дать доступы nginx.conf для media и static
- Добавить static_root в settings.py, затем python manage.py collectstatic
- Gunicorn — запуск django командой gunicorn django.wsgi, перед этим установить gunicorn
- Запуск в фоне через systemd, настройка файла django.service
- Создать A-запись для домена на ip сервера
- Добавить в allowed_hosts в local_settings.py на сервере, ip убрать, чтобы доступ был только по адресу домена
Готово, сайт на Джанго должен работать с доступом через привязанный домен.