1. Połącz się przez SSH z serwerem
ssh root@<server-ip>
2. Znajdź dane logowania
- Użytkownik domyślny:
django - Hasło zapisane w:
/root/.cloudzy-creds
(Opcjonalnie) Zmień domyślne hasło: passwd django
3. Przejdź do użytkownika aplikacji
su - django
4. PostgreSQL (opcjonalnie)
Jeśli zainstalowano PostgreSQL, skonfiguruj bazę danych i użytkownika (przykład):
sudo -u postgres psql
CREATE DATABASE <db>;
CREATE USER <user> WITH PASSWORD <password>;
GRANT ALL PRIVILEGES ON DATABASE <db> TO <user>;
q
Następnie zaktualizuj settings.py DATABASES z gospodarzem localhost, nazwę bazy danych, użytkownika i hasło. Uruchom python manage.py migrate.
5. Wdrożenie aplikacji
Przykładowa aplikacja Flask jest już uruchomiona i dostępna pod adresem: http://<server-ip
Aby wdrożyć własną aplikację:
- Przejdź do katalogu aplikacji (lub sklonuj nowy projekt):
cd~/django_app - (Opcjonalnie) Zastąp domyślną aplikację:
gitclone<your_repo_url> . - Aktywuj środowisko wirtualne:
sourcevenv/bin/activate - Zainstaluj wymagane pakiety:
pip install -r requirements.txt - Dostosuj
settings.py: zestawALLOWED_HOSTSdo swojej domeny/adresu IP i upewnij się, żeSTATIC_ROOTistnieje. - Migracja bazy danych:
python manage.py migrate - Zbierz statyczną energię do
STATIC_ROOT:python manage.py collectstatic --noinput - Uruchom ponownie Gunicorn, aby zastosować zmiany:
sudo systemctl restart gunicorn - Uruchom ponownie Nginx:
sudo systemctl restart nginx
6. Uzyskaj dostęp do swojej aplikacji
Your Django app is available at: http://<server-ip
Nginx przekazuje żądania do Gunicorn za pośrednictwem gniazda Unix.
7. Zmiana portu lub domeny?
Aby dostosować domenę, port lub dodać SSL:
- Edytuj konfigurację witryny Nginx:
sudo nano /etc/nginx/sites-available/gunicorn_django - Konfiguracja testowa:
sudo nginx -t - Przeładuj Nginx:
sudo systemctl restart nginx
8. Włącz protokół HTTPS (opcjonalnie)
Użyj Certbot, aby włączyć HTTPS.
Zainstaluj certbot:
sudo apt install certbot python3-certbot-nginx -y
Pobieraj certyfikaty i aktualizuj Nginx automatycznie:
sudo certbot --nginx -d example.com
Test:
nginx -t && sudo systemctl reload nginx