Qu'y a-t-il d'installé sur votre serveur Python ?
- Python 3.12 depuis le dépôt d'Ubuntu 24.04
- Un environnement virtuel dans /home/app/uygulama/venv
- Gunicorn 26 avec 2 workers sur 127.0.0.1:8000
- Un service systemd nommé uygulama qui démarre au boot et redémarre en cas de plantage
- HTTPS via Caddy sur une adresse sslip.io basée sur votre IP : un domaine est donc facultatif
- Un utilisateur app sans privilèges, pour que votre code ne tourne pas en root
- Un pare-feu où seuls les ports 22, 80 et 443 sont ouverts
Quelle taille faut-il pour Python ?
La documentation de Python ne donne aucun chiffre de RAM, car c'est votre application qui détermine le besoin. Gunicorn charge votre application dans un processus séparé pour chaque worker : la mémoire augmente donc avec le nombre de workers. Gunicorn suggère de commencer avec (2 x cœurs) + 1 workers, et cette installation en lance 2. En règle générale, 1 Go est un bon début pour une petite API, et 2 à 4 Go pour plusieurs workers ou des paquets lourds. Si cela ne suffit pas, augmentez la RAM, le CPU et le disque séparément depuis votre panneau, et vos données et votre adresse IP restent les mêmes.
| Usage | Taille | Prix | Choisir |
|---|---|---|---|
| Démarrage | 1 GB RAM · 1 vCore · 25 GB NVMe | $2.58/mois | |
| Moyen | 2 GB RAM · 1 vCore · 40 GB NVMe | $4.01/mois | |
| Puissant | 4 GB RAM · 2 vCore · 60 GB NVMe | $6.89/mois |
Pour qui ?
- Développeurs qui publient une API ou une application web avec Flask ou FastAPI
- Projets qui ont atteint les limites de version de Python ou de paquets sur un hébergement mutualisé
- Toute personne qui fait tourner sur son propre serveur une application Python créée avec des outils d'IA
- Personnes qui exécutent du traitement de données, de l'automatisation ou des scripts planifiés
Que se passe-t-il après votre commande ?
- Réglez la taille et terminez votre paiement.
- Votre serveur démarre et Python et Gunicorn s'installent tout seuls. Cela a pris environ 3 minutes lors de nos tests sur de vrais serveurs.
- Ouvrez l'Adresse du site depuis l'onglet Vue d'ensemble. La page d'exemple affiche la version de Python.
- Connectez-vous en SSH, tapez su - app, placez-vous dans le dossier avec cd ~/uygulama et apportez votre code, par exemple avec git clone.
- Installez vos dépendances : venv/bin/pip install -r requirements.txt
- Faites en sorte que wsgi.py fournisse votre objet d'application sous le nom app, revenez à root avec exit et lancez systemctl restart uygulama.
Avec chaque serveur
- Sauvegardes quotidiennes incluses dans le prix
- Trafic illimité
- Accès root complet
- Augmentez ou réduisez la RAM et le CPU plus tard, et agrandissez le disque
- Emplacement : Istanbul · IST-1.
Bon à savoir
- Gunicorn exécute wsgi:app. Pour un autre module, modifiez la ligne ExecStart dans /etc/systemd/system/uygulama.service et lancez systemctl daemon-reload.
- Passer à une taille supérieure n'ajoute pas de workers tout seul. Vous modifiez la valeur --workers dans le même fichier de service.
- Pour compiler des extensions C, lancez apt install build-essential python3-dev en root.
- Les mises à jour de sécurité d'Ubuntu et de Python s'installent toutes seules. Vous mettez à jour vous-même les paquets pip de votre environnement virtuel.
- Votre application doit écouter sur 127.0.0.1:8000, et Caddy gère l'adresse publique. Ouvrir Gunicorn vers l'extérieur contourne HTTPS.
- Si un certificat ne peut pas être émis, le site s'ouvre en http sur votre adresse IP.
Questions et réponses sur Python
Comment déployer mon application Flask ?
Placez votre code dans ~/uygulama et installez les dépendances avec venv/bin/pip. Faites en sorte que wsgi.py fournisse votre application sous le nom app, puis lancez systemctl restart uygulama en root. Ou bien remplacez wsgi:app dans la ligne ExecStart par project:app, ou project:create_app() pour une fabrique d'application, et lancez systemctl daemon-reload.
FastAPI fonctionne-t-il sur ce serveur ?
Oui. FastAPI utilise ASGI, que le worker ASGI intégré de Gunicorn prend en charge. Dans la ligne ExecStart, remplacez wsgi:app par --worker-class asgi main:app, puis lancez systemctl daemon-reload et systemctl restart uygulama. Gardez l'adresse d'écoute sur 127.0.0.1:8000.
De combien de RAM ai-je besoin pour un hébergement Python ?
Python n'a pas de chiffre de RAM officiel, car c'est votre application et le nombre de workers qui décident. En règle générale, 1 Go est un bon début pour une petite API, et 2 à 4 Go pour plusieurs workers ou des paquets de data science.
Puis-je changer la version de Python ?
Le serveur est fourni avec Python 3.12 d'Ubuntu 24.04. Vous avez l'accès root : vous pouvez donc aussi installer une autre version. Recréez l'environnement virtuel avec cette version, puis réinstallez vos paquets et Gunicorn.
Mon application s'arrête-t-elle quand je me déconnecte de SSH ?
Non. Votre code Python tourne comme un service systemd nommé uygulama. Il continue de fonctionner après votre déconnexion, et il redémarre s'il plante ou si le serveur redémarre. Vous pouvez lire sa sortie avec journalctl -u uygulama.
Ce serveur convient-il à Django ?
Oui. Gunicorn exécute aussi Django : vous mettriez donc project.wsgi:application dans la ligne ExecStart. Si vous souhaitez que Django et ses réglages soient installés pour vous, regardez l'option de serveur Django.