Save 15% on All Hosting Services

Teste deine Fähigkeiten und erhalte Rabatt auf jeden Hosting-Plan

Benutze den Code: Skills Anfangen
Abschnitte
Linux Verwaltung

Wie man Django auf einem Hosting-Server installiert: Eine vollständige Schritt-für-Schritt-Anleitung

Django ist ein High-Level-Python-Web-Framework, das schnelle Entwicklung und sauberes, pragmatisches Design fördert. Es bleibt eine der beliebtesten Optionen für die Erstellung skalierbarer, sicherer und wartbarer Webanwendungen – von einfachen Blogs bis zu komplexen Enterprise-Plattformen. In diesem umfassenden Leitfaden führen wir Sie durch jeden Schritt, der erforderlich ist, um Django auf einem Hosting-Server zu installieren, von der Vorbereitung Ihrer Linux-Umgebung bis zum Ausführen Ihres ersten Projekts und seiner Vorbereitung für die Produktion.

Warum Django für Ihre Webanwendung wählen?

Bevor wir in den Installationsprozess eintauchen, lohnt es sich zu verstehen, warum Django weiterhin die Python-Web-Entwicklungslandschaft dominiert:

  • Batteries included: Django wird mit integrierter Authentifizierung, einem Admin-Panel, ORM, Formularverarbeitung und Sicherheitsfunktionen ab Werk ausgeliefert.
  • Skalierbarkeit: Django betreibt hochfrequente Plattformen wie Instagram und Pinterest.
  • Sicherheit im Fokus: Django schützt standardmäßig vor häufigen Sicherheitslücken wie SQL-Injection, XSS, CSRF und Clickjacking.
  • Schnelle Entwicklung: Seine Convention-over-Configuration-Philosophie ermöglicht es Entwicklern, Funktionen schneller bereitzustellen.
  • Riesiges Ökosystem: Tausende wiederverwendbarer Pakete und eine große Community bedeuten, dass Lösungen für fast jedes Problem bereits existieren.

Um das Beste aus Django herauszuholen, benötigen Sie eine zuverlässige Server-Umgebung. Ein VPS Hosting-Plan bietet Ihnen den Root-Zugriff, dedizierte Ressourcen und die Flexibilität, die Django-Anwendungen erfordern.

Voraussetzungen

Bevor Sie mit dem Installationsprozess beginnen, stellen Sie sicher, dass Sie Folgendes haben:

  • Ein Hosting-Server mit einer Linux-Distribution (Ubuntu 20.04/22.04 oder Debian werden empfohlen)
  • SSH-Zugriff auf den Server mit sudo-Berechtigungen
  • Python 3.8 oder höher (Python 3.10+ empfohlen)
  • pip (Pythons Paketmanager) installiert
  • Grundlegende Vertrautheit mit der Linux-Befehlszeile

> Pro-Tipp: Wenn Sie eine produktive Django-Anwendung ausführen, vermeiden Sie Shared-Hosting-Umgebungen. Ein VPS Hosting-Plan oder ein Dedicated Server geben Ihnen die Kontrolle und Leistung, die Ihre Anwendung benötigt.

Schritt 1: Verbindung zu Ihrem Server über SSH

Öffnen Sie Ihr Terminal und stellen Sie eine SSH-Verbindung zu Ihrem Hosting-Server her:

ssh username@server_ip

Ersetzen Sie username durch Ihren tatsächlichen Systembenutzernamen und server_ip durch die öffentliche IP-Adresse Ihres Servers. Wenn Sie einen benutzerdefinierten SSH-Port oder eine schlüsselbasierte Authentifizierungsdatei verwenden, passen Sie den Befehl entsprechend an:

ssh -i /path/to/your/key.pem username@server_ip

Nach der Verbindung haben Sie eine Befehlszeilenschnittstelle zu Ihrem Server, wo Sie mit dem Setup-Prozess beginnen können.

Schritt 2: Aktualisieren Sie Ihr System und installieren Sie Python & pip

Die Aktualisierung Ihrer System-Pakete ist ein kritischer erster Schritt für Sicherheit und Kompatibilität.

Aktualisieren Sie den Paketindex

sudo apt update && sudo apt upgrade -y

Installieren Sie Python 3 und pip

Die meisten modernen Ubuntu- und Debian-Distributionen werden mit Python 3 vorinstalliert ausgeliefert. Überprüfen Sie zunächst Ihre Python-Version:

python3 --version

Wenn Python 3 nicht installiert ist oder Sie pip benötigen, installieren Sie diese mit:

sudo apt install python3 python3-pip -y

Überprüfen Sie die Installationen:

python3 --version
pip3 --version

Sie sollten Versionsnummern sehen, die bestätigen, dass beide Tools verfügbar sind.

Schritt 3: Richten Sie eine Python Virtual Environment ein

Die Verwendung einer virtuellen Umgebung ist nicht nur empfohlen – sie wird als Best Practice für jedes Python-Projekt angesehen. Virtuelle Umgebungen isolieren die Abhängigkeiten Ihres Projekts von der systemweiten Python-Installation und von anderen Projekten auf demselben Server, verhindern Versionskonflikte und halten Ihre Umgebung sauber.

Installieren Sie virtualenv

sudo pip3 install virtualenv

Alternativ können Sie Pythons integriertes venv-Modul verwenden (verfügbar in Python 3.3+):

sudo apt install python3-venv -y

Erstellen Sie Ihr Projektverzeichnis und die Virtual Environment

Navigieren Sie zu dem Verzeichnis, in dem Sie Ihr Projekt hosten möchten, oder erstellen Sie ein neues:

mkdir myproject
cd myproject

Erstellen Sie nun die virtuelle Umgebung in Ihrem Projektverzeichnis:

virtualenv venv

Oder mit dem integrierten venv-Modul:

python3 -m venv venv

Aktivieren Sie die Virtual Environment

source venv/bin/activate

Nach der Aktivierung ändert sich Ihr Eingabeprompt, um den Namen der virtuellen Umgebung anzuzeigen, zum Beispiel:

(venv) username@server:~/myproject$

Alle pip install-Befehle, die ausgeführt werden, während die virtuelle Umgebung aktiv ist, installieren Pakete nur in dieser isolierten Umgebung. Um sie jederzeit zu deaktivieren, führen Sie einfach aus:

deactivate

Schritt 4: Installieren Sie Django

Installieren Sie Django mit pip, während Ihre virtuelle Umgebung aktiv ist:

pip install django

Um eine bestimmte Version von Django zu installieren (empfohlen für die Produktion, um Kompatibilität zu gewährleisten):

pip install django==4.2

Überprüfen Sie die Installation:

django-admin --version

Sie sollten die installierte Django-Versionsnummer im Terminal angezeigt sehen.

Schritt 5: Erstellen Sie ein neues Django-Projekt

Verwenden Sie Djangos integriertes django-admin-Befehlszeilentool, um ein neues Projekt zu erstellen:

django-admin startproject myproject .

> Hinweis: Der nachfolgende Punkt (.) teilt Django mit, die Projektdateien im aktuellen Verzeichnis zu erstellen, anstatt ein verschachteltes Unterverzeichnis zu erstellen. Dies ist eine sauberere Struktur für die meisten Bereitstellungen.

Ihr Projektverzeichnis enthält nun die folgende Struktur:

myproject/
├── manage.py
└── myproject/
    ├── __init__.py
    ├── asgi.py
    ├── settings.py
    ├── urls.py
    └── wsgi.py
  • manage.py — Ein Befehlszeilenprogramm für die Interaktion mit Ihrem Django-Projekt.
  • settings.py — Die zentrale Konfigurationsdatei für Ihr Projekt.
  • urls.py — Die URL-Routing-Konfiguration.
  • wsgi.py / asgi.py — Einstiegspunkte für WSGI- und ASGI-kompatible Webserver.

Schritt 6: Konfigurieren Sie Datenbankeinstellungen

Öffnen Sie die settings.py-Datei, um Ihre Datenbankverbindung zu konfigurieren:

nano myproject/settings.py

Standard: SQLite (nur Entwicklung)

Standardmäßig ist Django für die Verwendung von SQLite konfiguriert, was für Entwicklung und Tests geeignet ist, aber nicht für die Produktion empfohlen wird:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': BASE_DIR / 'db.sqlite3',
    }
}

Produktionsoption: PostgreSQL

PostgreSQL ist die am meisten empfohlene Datenbank für Django in der Produktion. Installieren Sie zunächst die erforderlichen Pakete:

sudo apt install postgresql postgresql-contrib libpq-dev -y
pip install psycopg2-binary

Aktualisieren Sie dann die DATABASES-Einstellung in settings.py:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql',
        'NAME': 'mydatabase',
        'USER': 'myuser',
        'PASSWORD': 'mypassword',
        'HOST': 'localhost',
        'PORT': '5432',
    }
}

Produktionsoption: MySQL / MariaDB

Wenn Sie MySQL oder MariaDB bevorzugen, installieren Sie den erforderlichen Adapter:

sudo apt install default-libmysqlclient-dev -y
pip install mysqlclient

Konfigurieren Sie dann die DATABASES-Einstellung:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'mydatabase',
        'USER': 'myuser',
        'PASSWORD': 'mypassword',
        'HOST': 'localhost',
        'PORT': '3306',
    }
}

Konfigurieren Sie ALLOWED_HOSTS

Aktualisieren Sie auch in settings.py die ALLOWED_HOSTS-Einstellung, um die IP-Adresse oder den Domänennamen Ihres Servers einzuschließen. Dies ist erforderlich, damit Django Anfragen im Nicht-Debug-Modus verarbeitet:

ALLOWED_HOSTS = ['your_server_ip', 'yourdomain.com', 'www.yourdomain.com']

Schritt 7: Wenden Sie Datenbankmigrationen an

Django verwendet ein Migrationssystem, um Datenbankschemaänderungen zu verwalten. Führen Sie die anfänglichen Migrationen aus, um alle erforderlichen Datenbanktabellen zu erstellen:

python manage.py migrate

Sie sehen eine Ausgabe, die jede angewendete Migration auflistet. Eine erfolgreiche Migration sieht wie folgt aus:

Operations to perform:
  Apply all migrations: admin, auth, contenttypes, sessions
Running migrations:
  Applying contenttypes.0001_initial... OK
  Applying auth.0001_initial... OK
  ...

Erstellen Sie einen Superuser (optional, aber empfohlen)

Erstellen Sie ein Admin-Konto, um auf Djangos integriertes Admin-Interface zuzugreifen:

python manage.py createsuperuser

Sie werden aufgefordert, einen Benutzernamen, eine E-Mail-Adresse und ein Passwort einzugeben.

Schritt 8: Führen Sie den Django-Entwicklungsserver aus

Sie können nun Djangos integriertem Entwicklungsserver starten, um Ihre Installation zu überprüfen:

python manage.py runserver 0.0.0.0:8000

Dieser Befehl bindet den Entwicklungsserver an alle verfügbaren Netzwerkschnittstellen auf Port 8000. Öffnen Sie Ihren Webbrowser und navigieren Sie zu:

http://your_server_ip:8000

Sie sollten die Django-Willkommensseite sehen – eine Rakete mit der Nachricht „Die Installation war erfolgreich! Glückwunsch!”

Um auf das Admin-Panel zuzugreifen, navigieren Sie zu:

http://your_server_ip:8000/admin

> Wichtig: Djangos integrierter Entwicklungsserver ist nicht für die Produktion geeignet. Er ist Single-threaded, nicht für Leistung optimiert und verfügt nicht über Sicherheitshärtung. Verwenden Sie immer einen produktionsreifen Webserver für Live-Bereitstellungen.

Schritt 9: Bereiten Sie Django für die Produktion vor (empfohlen)

Für produktive Bereitstellungen müssen Sie einen ordnungsgemäßen Webserver-Stack konfigurieren. Das häufigste und empfohlene Setup ist Nginx + Gunicorn.

Installieren Sie Gunicorn

Mit Ihrer aktiven virtuellen Umgebung:

pip install gunicorn

Testen Sie, dass Gunicorn Ihre Anwendung bedienen kann:

gunicorn --bind 0.0.0.0:8000 myproject.wsgi

Installieren und konfigurieren Sie Nginx

sudo apt install nginx -y

Erstellen Sie eine Nginx-Serverblockkonfigurationsdatei:

sudo nano /etc/nginx/sites-available/myproject

Fügen Sie die folgende Konfiguration hinzu:

server {
    listen 80;
    server_name yourdomain.com www.yourdomain.com;

    location = /favicon.ico { access_log off; log_not_found off; }

    location /static/ {
        root /home/username/myproject;
    }

    location / {
        include proxy_params;
        proxy_pass http://unix:/run/gunicorn.sock;
    }
}

Aktivieren Sie die Konfiguration und starten Sie Nginx neu:

sudo ln -s /etc/nginx/sites-available/myproject /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl restart nginx

Sammeln Sie statische Dateien

Aktualisieren Sie settings.py mit dem Verzeichnis für statische Dateien:

STATIC_ROOT = BASE_DIR / 'staticfiles'

Sammeln Sie dann alle statischen Dateien:

python manage.py collectstatic

Sichern Sie Ihre Anwendung mit SSL

Für jede produktive Django-Anwendung ist HTTPS unverzichtbar. Ein SSL-Zertifikat verschlüsselt Daten während der Übertragung zwischen Ihrem Server und Ihren Benutzern, schützt sensible Informationen und ist erforderlich für moderne Browser-Vertrauensindikatoren. AlexHost bietet SSL-Zertifikate, die sich nahtlos in Ihre Hosting-Umgebung integrieren.

Zusätzliche Produktionsüberlegungen

Umgebungsvariablen für sensible Einstellungen

Codieren Sie niemals sensible Werte wie SECRET_KEY, Datenbankpasswörter oder API-Schlüssel in settings.py. Verwenden Sie stattdessen Umgebungsvariablen:

pip install python-decouple

In settings.py:

from decouple import config

SECRET_KEY = config('SECRET_KEY')
DEBUG = config('DEBUG', default=False, cast=bool)

Setzen Sie DEBUG in der Produktion auf False

DEBUG = False

Das Ausführen mit DEBUG = True in der Produktion zeigt detaillierte Fehlerseiten und sensible Konfigurationsinformationen für potenzielle Angreifer.

Konfigurieren Sie einen Domänennamen

Wenn Sie noch keinen Domänennamen für Ihr Django-Projekt registriert haben, macht die Domänenregistrierung über AlexHost es einfach, Ihre Domäne schnell auf Ihren Server zu verweisen, mit vollständiger DNS-Verwaltung inbegriffen.

Wählen Sie das richtige Hosting für Ihre Django-Anwendung

Die Hosting-Umgebung, die Sie wählen, hat einen großen Einfluss auf die Leistung, Zuverlässigkeit und Skalierbarkeit Ihrer Django-Anwendung. Hier ist ein kurzer Leitfaden:

AnwendungsfallEmpfohlenes Hosting
Entwicklung & TestsShared Web Hosting
Kleine bis mittlere produktive AppsVPS Hosting
Dedizierte Server Verwaltung Virtuelle Server
Verwaltung
Sicherheit Verwaltung

Save 15% on All Hosting Services

Teste deine Fähigkeiten und erhalte Rabatt auf jeden Hosting-Plan

Benutze den Code: Skills Anfangen
Schneller Zugang zu Informationen
Schneller Zugang zu Informationen

Spare deine Zeit und erhalte eine schnelle Antwort auf deine Frage

Löse Probleme selbst
Löse Probleme selbst

Die Wissensdatenbank enthält detaillierte Anleitungen, mit denen du technische Aufgaben selbst erledigen kannst.

Verbesserung der Fähigkeiten
Verbesserung der Fähigkeiten

Durch die Nutzung der Wissensdatenbank erweiterst du dein Wissen über Webhosting und verwandte Themen

Illustrationen und Diagramme
Illustrationen und Diagramme

Viele Artikel werden von Abbildungen und Diagrammen begleitet, die komplexe Prozesse und Einstellungen leichter verständlich machen.

Nützliche Tricks
Nützliche Tricks

Sie finden nützliche Tipps und Tricks, um die Leistung Ihrer Website oder Webanwendung zu verbessern.

Relevanz der vorgegebenen Themen
Relevanz der vorgegebenen Themen

Die Informationen in der Wissensdatenbank werden regelmäßig aktualisiert, um die neuesten Änderungen und Trends im Bereich der IT-Infrastruktur und des AlexHost-Service widerzuspiegeln

Du hast das Thema, nach dem du gesucht hast, nicht gefunden? Es gibt eine perfekte Lösung

Hervorragende Gäste und Kunden! Dein Komfort ist unsere Priorität! Wenn du Schwierigkeiten mit der Installation einer bestimmten Software oder der Einrichtung eines Servers hast, zögere bitte nicht, uns zu kontaktieren. Wir schätzen deine Meinung und sind immer bereit, dir bei der Lösung deiner Probleme zu helfen.

Außerdem geben wir dir die Möglichkeit, dich aktiv an der Erstellung unserer Wissensdatenbank zu beteiligen. Wenn du Themen oder Fragen hast, die du gerne in unsere Datenbank aufnehmen würdest, lass es uns wissen! Wir sind bereit, ausführliche Artikel und Anleitungen zu schreiben, die auf deine Bedürfnisse zugeschnitten sind.

Wir sind bestrebt, deine Erfahrungen mit AlexHost so bequem und effizient wie möglich zu gestalten, und dein Beitrag zur Wissensdatenbank hilft uns, dieses Ziel zu erreichen. Kontaktieren Sie uns ->
info@alexhost.com und lass uns wissen, wie wir deinen Aufenthalt bei uns noch besser machen können.

Solution Image