Was ist auf Ihrem Python-Server installiert?
- Python 3.12 aus dem Ubuntu-24.04-Repository
- Eine virtuelle Umgebung unter /home/app/uygulama/venv
- Gunicorn 26 mit 2 Workern auf 127.0.0.1:8000
- Ein systemd-Dienst namens uygulama, der beim Booten startet und nach einem Absturz neu startet
- HTTPS über Caddy auf einer sslip.io-Adresse, die auf Ihrer IP basiert, sodass eine Domain optional ist
- Ein unprivilegierter Benutzer app, damit Ihr Code nicht als root läuft
- Firewall, bei der nur die Ports 22, 80 und 443 offen sind
Welche Größe brauchen Sie für Python?
In der Dokumentation von Python steht kein RAM-Wert, denn Ihre App bestimmt den Bedarf. Gunicorn lädt Ihre App für jeden Worker in einem eigenen Prozess, der Speicherbedarf wächst also mit der Zahl der Worker. Gunicorn empfiehlt, mit (2 x Kerne) + 1 Workern zu beginnen, und diese Installation startet 2. Als Faustregel ist 1 GB ein guter Start für eine kleine API und 2 bis 4 GB für mehrere Worker oder schwere Pakete. Reicht das nicht, vergrößern Sie RAM, CPU und Festplatte einzeln in Ihrem Panel, Ihre Daten und Ihre IP-Adresse bleiben gleich.
| Einsatz | Größe | Preis | Wählen |
|---|---|---|---|
| Einstieg | 1 GB RAM · 1 vCore · 25 GB NVMe | $2.58/Monat | |
| Mittel | 2 GB RAM · 1 vCore · 40 GB NVMe | $4.01/Monat | |
| Leistungsstark | 4 GB RAM · 2 vCore · 60 GB NVMe | $6.89/Monat |
Für wen ist es gedacht?
- Entwickler, die eine API oder Web-App mit Flask oder FastAPI veröffentlichen
- Projekte, die bei Python-Version oder Paketen an die Grenzen von Shared Hosting gestoßen sind
- Alle, die eine mit KI-Werkzeugen gebaute Python-App auf ihrem eigenen Server betreiben
- Alle, die Datenverarbeitung, Automatisierung oder zeitgesteuerte Skripte betreiben
Was passiert nach der Bestellung?
- Stellen Sie die Größe ein und schließen Sie Ihre Zahlung ab.
- Ihr Server startet, und Python und Gunicorn installieren sich. In unseren Tests auf echten Servern dauerte das etwa 3 Minuten.
- Öffnen Sie auf dem Reiter Übersicht die Website-Adresse. Die Beispielseite zeigt die Python-Version.
- Verbinden Sie sich per SSH, geben Sie su - app ein, wechseln Sie mit cd ~/uygulama in den Ordner und holen Sie Ihren Code hinein, zum Beispiel mit git clone.
- Installieren Sie Ihre Abhängigkeiten: venv/bin/pip install -r requirements.txt
- Sorgen Sie dafür, dass wsgi.py Ihr Anwendungsobjekt als app bereitstellt, kehren Sie mit exit zu root zurück und führen Sie systemctl restart uygulama aus.
Bei jedem Server
- Tägliche Sicherung im Preis inbegriffen
- Unbegrenzter Datenverkehr
- Voller Root-Zugriff
- RAM und CPU später vergrößern oder verkleinern, die Festplatte erweitern
- Standort: Istanbul · IST-1.
Gut zu wissen
- Gunicorn führt wsgi:app aus. Für ein anderes Modul ändern Sie die Zeile ExecStart in /etc/systemd/system/uygulama.service und führen systemctl daemon-reload aus.
- Beim Vergrößern kommen nicht automatisch Worker hinzu. Den Wert --workers ändern Sie in derselben Service-Datei.
- Um C-Erweiterungen zu kompilieren, führen Sie als root apt install build-essential python3-dev aus.
- Sicherheitsupdates für Ubuntu und Python installieren sich von selbst. Die pip-Pakete in Ihrer virtuellen Umgebung aktualisieren Sie selbst.
- Ihre App sollte auf 127.0.0.1:8000 lauschen, die öffentliche Adresse übernimmt Caddy. Wenn Sie Gunicorn nach außen öffnen, umgehen Sie HTTPS.
- Wenn kein Zertifikat ausgestellt werden kann, öffnet sich die Website über http auf Ihrer IP-Adresse.
Fragen und Antworten zu Python
Wie rolle ich meine Flask-App aus?
Legen Sie Ihren Code in ~/uygulama ab und installieren Sie die Abhängigkeiten mit venv/bin/pip. Sorgen Sie dafür, dass wsgi.py Ihre App als app bereitstellt, und führen Sie als root systemctl restart uygulama aus. Oder ersetzen Sie in der Zeile ExecStart wsgi:app durch project:app, bei einer App-Factory durch project:create_app(), und führen Sie systemctl daemon-reload aus.
Läuft FastAPI auf diesem Server?
Ja. FastAPI nutzt ASGI, und der eingebaute ASGI-Worker von Gunicorn verarbeitet es. Ersetzen Sie in der Zeile ExecStart wsgi:app durch --worker-class asgi main:app und führen Sie dann systemctl daemon-reload und systemctl restart uygulama aus. Lassen Sie die Bind-Adresse auf 127.0.0.1:8000.
Wie viel RAM brauche ich für Python Hosting?
Python hat keinen offiziellen RAM-Wert, denn Ihre App und die Zahl der Worker bestimmen den Bedarf. Als Faustregel ist 1 GB ein guter Start für eine kleine API und 2 bis 4 GB für mehrere Worker oder Data-Science-Pakete.
Kann ich die Python-Version ändern?
Der Server wird mit Python 3.12 aus Ubuntu 24.04 geliefert. Sie haben Root-Zugriff und können daher auch eine andere Version installieren. Erstellen Sie die virtuelle Umgebung mit dieser Version neu und installieren Sie dann Ihre Pakete und Gunicorn erneut.
Stoppt meine App, wenn ich mich von SSH abmelde?
Nein. Ihr Python-Code läuft als systemd-Dienst namens uygulama. Er läuft nach dem Abmelden weiter und kommt zurück, wenn er abstürzt oder der Server neu startet. Seine Ausgabe können Sie mit journalctl -u uygulama lesen.
Ist dieser Server für Django geeignet?
Ja. Gunicorn führt auch Django aus, Sie tragen dazu project.wsgi:application in die Zeile ExecStart ein. Wenn Django und seine Einstellungen für Sie installiert sein sollen, sehen Sie sich die Option Django-Server an.