Джанго

Веб-фреймворк Python, который способствует быстрой разработке и созданию чистого, прагматичного дизайна.

1. SSH на ваш сервер

ssh root@<server-ip>

2. Найти учетные данные для входа

  • Пользователь по умолчанию: django
  • Пароль хранится в: /root/.cloudzy-creds

(Необязательно) Измените пароль по умолчанию: passwd django

3. Переключитесь на пользователя приложения

su - django

4. PostgreSQL (опционально)

Если PostgreSQL был установлен, настройте БД и пользователя (пример):

sudo -u postgres psql
CREATE DATABASE <db>;
CREATE USER <user> WITH PASSWORD <password>;
GRANT ALL PRIVILEGES ON DATABASE <db> TO <user>;
q

Затем обновите settings.py DATABASES с хостом localhost, имя базы данных, пользователь и пароль. Запустить python manage.py migrate.

5. Разверните свое приложение

Пример приложения Flask уже запущен и доступен по адресу: http://<server-ip

Чтобы развернуть собственное приложение:

  1. Перейдите в каталог приложения (или клонируйте новый проект): cd ~/django_app
  2. (Необязательно) Заменить приложение по умолчанию: git clone <your_repo_url> .
  3. Активируйте виртуальную среду: source venv/bin/activate
  4. Установите необходимые пакеты: pip install -r requirements.txt
  5. Настроить settings.py: набор ALLOWED_HOSTS к вашему домену/IP и убедитесь, что STATIC_ROOT существует.
  6. Миграция базы данных: python manage.py migrate
  7. Собрать статику в STATIC_ROOT: python manage.py collectstatic --noinput
  8. Перезапустите Gunicorn, чтобы применить изменения: sudo systemctl restart gunicorn
  9. Перезапустите Nginx: sudo systemctl restart nginx

6. Доступ к вашему приложению

Your Django app is available at: http://<server-ip

Nginx обратно проксирует запросы к Gunicorn через сокет Unix.

7. Изменить порт или домен?

Чтобы настроить домен, порт или добавить SSL:

  1. Измените конфигурацию сайта Nginx: sudo nano /etc/nginx/sites-available/gunicorn_django
  2. Конфигурация теста: sudo nginx -t
  3. Перезагрузите Nginx: sudo systemctl restart nginx

8. Включить HTTPS (необязательно)

Используйте Certbot для включения HTTPS.

Установите certbot:

sudo apt install certbot python3-certbot-nginx -y

Получайте сертификаты и обновляйте Nginx автоматически:

sudo certbot --nginx -d example.com

Тест:

nginx -t && sudo systemctl reload nginx

Детали заявки