2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
"Fille, ça dépend de la chance quand on se reverra. Ne prétends pas que tu ne te connais pas. Ne tremble pas quand tu dis "Ça fait longtemps que je ne te vois pas"..."
Pour déployer une API backend écrite en Python dans un environnement Linux, vous pouvez suivre les étapes détaillées ci-dessous. Cet article couvrira la préparation de l'environnement, l'écriture d'API, l'utilisation de Gunicorn comme serveur WSGI, la configuration de Nginx comme proxy inverse et l'utilisation de Systemd pour gérer les services.
Si Python n'est pas installé sur votre système Linux, vous pouvez utiliser la commande suivante pour l'installer :
sudo yum update
sudo yum install python3 python3-pip
En supposant que vous utilisez le framework Flask ou Django, installez d'abord les bibliothèques requises :
pip3 install flask # 如果你使用的是 Flask
pip3 install django # 如果你使用的是 Django
Créez un exemple d'API Flask simple :
from flask import Flask, jsonify
app = Flask(__name__)
@app.route('/api', methods=['GET'])
def api():
return jsonify({'message': 'Hello, World!'})
if __name__ == '__main__':
app.run(host='0.0.0.0')
Créez un nouveau projet Django et ajoutez l'API :
django-admin startproject myproject
cd myproject
django-admin startapp myapp
exister myapp/views.py
Ajouter une vue API dans :
from django.http import JsonResponse
def api(request):
return JsonResponse({'message': 'Hello, World!'})
exister myproject/urls.py
Configurez le routage d'URL dans :
from django.contrib import admin
from django.urls import path
from myapp.views import api
urlpatterns = [
path('admin/', admin.site.urls),
path('api/', api),
]
Pour démarrer rapidement une application dans un environnement de développement ou de test, vous pouvez l'exécuter directement :
python main.py 或者 nohup python main.py
Django possède son propre serveur de développement, avec lequel vous pouvez démarrer :
python manage.py runserver 0.0.0.0:8000
Il est recommandé d'utiliser Gunicorn dans l'environnement de production Afin de garantir les performances et la stabilité de l'application dans l'environnement de production, il est recommandé d'utiliser Gunicorn.Gunicorn En tant que serveur d'applications, gère l'exécution du code Python et la gestion multi-processus.
Installez Gunicorn :
pip3 install gunicorn
Exécutez l'application Flask à l'aide de Gunicorn :
gunicorn --bind 0.0.0.0:8000 app:app
Utilisez Gunicorn pour exécuter des applications Django :
gunicorn --bind 0.0.0.0:8000 myproject.wsgi:application
Installez Nginx :
sudo yum install nginx
Modifier le fichier de configuration /etc/nginx/sites-available/default
:
server {
listen 80;
server_name your_domain_or_IP;
location / {
proxy_pass http://127.0.0.1:8000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
Rechargez la configuration de Nginx :
sudo systemctl restart nginx
Créez un nouveau fichier de service Systemd :
sudo vim /etc/systemd/system/myproject.service
[Unit]
Description=Gunicorn instance to serve myproject
After=network.target
[Service]
User=your_user
Group=www-data
WorkingDirectory=/path/to/your/project
ExecStart=/usr/bin/gunicorn --workers 3 --bind unix:myproject.sock -m 007 app:app
[Install]
WantedBy=multi-user.target
Volonté ExecStart
Remplacez la ligne par :
ExecStart=/usr/bin/gunicorn --workers 3 --bind unix:myproject.sock -m 007 myproject.wsgi:application
Démarrez et activez le service :
sudo systemctl start myproject
sudo systemctl enable myproject
Assurez-vous que le service est en cours d'exécution :
sudo systemctl status myproject
De cette façon, votre API Python est déployée avec succès dans l'environnement Linux. Vous pouvez ajuster la configuration selon vos besoins pour répondre aux besoins spécifiques de votre projet. J'espère que ce guide détaillé vous a été utile !