1. SSH mit deinem Server verbinden
ssh root@<server-ip>
2. Zugangsdaten finden
- Default user:
django - Password stored in:
/root/.cloudzy-creds
(Optional) Standard-Passwort ändern: passwd django
3. Zum App-Benutzer wechseln
su - django
4. PostgreSQL (Optional)
Falls PostgreSQL installiert wurde, Datenbank und Benutzer einrichten (Beispiel):
sudo -u postgres psql
CREATE DATABASE <db>;
CREATE USER <user> WITH PASSWORD <password>;
GRANT ALL PRIVILEGES ON DATABASE <db> TO <user>;
q
Then update settings.py DATABASES with host localhost, Datenbankname, Benutzer und Passwort. Ausführen: python manage.py migrate.
5. App deployen
Eine Beispiel-Flask-App läuft bereits und ist erreichbar unter: http://<server-ip
So deployst du deine eigene App:
- Wechsle in dein Anwendungsverzeichnis (oder klone ein neues Projekt):
cd~/django_app - (Optional) Standard-App ersetzen:
gitclone<your_repo_url> . - Virtuelle Umgebung aktivieren:
sourcevenv/bin/activate - Benötigte Pakete installieren:
pip install -r requirements.txt - Adjust
settings.py: setALLOWED_HOSTSauf deine Domain/IP und stelle sicher, dassSTATIC_ROOTexists. - Migrate database:
python manage.py migrate - Statische Dateien in
STATIC_ROOT:python manage.py collectstatic --noinput - Gunicorn neu starten, um Änderungen zu übernehmen:
sudo systemctl restart gunicorn - Restart Nginx:
sudo systemctl restart nginx
6. App aufrufen
Deine Django-App ist erreichbar unter: http://<server-ip
Nginx leitet Anfragen über einen Unix-Socket an Gunicorn weiter.
7. Port oder Domain ändern?
Domain, Port anpassen oder SSL hinzufügen:
- Nginx-Site-Konfiguration bearbeiten:
sudo nano /etc/nginx/sites-available/gunicorn_django - Test configuration:
sudo nginx -t - Reload Nginx:
sudo systemctl restart nginx
8. HTTPS aktivieren (Optional)
HTTPS mit Certbot aktivieren.
Install certbot:
sudo apt install certbot python3-certbot-nginx -y
Zertifikate abrufen und Nginx automatisch aktualisieren:
sudo certbot --nginx -d example.com
Test:
nginx -t && sudo systemctl reload nginx