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
Щоб розгорнути власний додаток:
- Перейдіть до каталогу вашої програми (або клонуйте новий проект):
cd~/django_app - (Необов'язково) Замінити стандартну програму:
gitclone<your_repo_url> . - Активуйте віртуальне середовище:
sourcevenv/bin/activate - Встановіть необхідні пакети:
pip install -r requirements.txt - Налаштувати
settings.py: набірALLOWED_HOSTSдо вашого домену/IP-адреси та переконайтеся, щоSTATIC_ROOTіснує. - Перенести базу даних:
python manage.py migrate - Збирати статику в
STATIC_ROOT:python manage.py collectstatic --noinput - Перезапустіть Gunicorn, щоб застосувати зміни:
sudo systemctl restart gunicorn - Перезапустіть Nginx:
sudo systemctl restart nginx
6. Доступ до вашого додатка
Your Django app is available at: http://<server-ip
Nginx здійснює зворотне проксі-передавання запитів до Gunicorn через сокет Unix.
7. Змінити порт або домен?
Щоб налаштувати домен, порт або додати SSL:
- Редагування конфігурації сайту Nginx:
sudo nano /etc/nginx/sites-available/gunicorn_django - Конфігурація тесту:
sudo nginx -t - Перезавантажити 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