2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
„Mädchen, es hängt vom Glück ab, wann wir uns wiedersehen. Tu nicht so, als ob du dich nicht kennst. Zittere nicht, wenn du sagst: „Lange nicht gesehen“…“
Um eine in Python geschriebene Backend-API in einer Linux-Umgebung bereitzustellen, können Sie die folgenden detaillierten Schritte ausführen. In diesem Artikel geht es um die Vorbereitung der Umgebung, das Schreiben von APIs, die Verwendung von Gunicorn als WSGI-Server, die Konfiguration von Nginx als Reverse-Proxy und die Verwendung von Systemd zum Verwalten von Diensten.
Wenn Python auf Ihrem Linux-System nicht installiert ist, können Sie es mit dem folgenden Befehl installieren:
sudo yum update
sudo yum install python3 python3-pip
Vorausgesetzt, Sie verwenden das Flask- oder Django-Framework, installieren Sie zunächst die erforderlichen Bibliotheken:
pip3 install flask # 如果你使用的是 Flask
pip3 install django # 如果你使用的是 Django
Erstellen Sie ein einfaches Flask-API-Beispiel:
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')
Erstellen Sie ein neues Django-Projekt und fügen Sie die API hinzu:
django-admin startproject myproject
cd myproject
django-admin startapp myapp
existieren myapp/views.py
API-Ansicht hinzufügen in:
from django.http import JsonResponse
def api(request):
return JsonResponse({'message': 'Hello, World!'})
existieren myproject/urls.py
Konfigurieren Sie das URL-Routing in:
from django.contrib import admin
from django.urls import path
from myapp.views import api
urlpatterns = [
path('admin/', admin.site.urls),
path('api/', api),
]
Um eine Anwendung schnell in einer Entwicklungs- oder Testumgebung zu starten, können Sie sie direkt ausführen:
python main.py 或者 nohup python main.py
Django verfügt über einen eigenen Entwicklungsserver, mit dem Sie beginnen können:
python manage.py runserver 0.0.0.0:8000
Es wird empfohlen, Gunicorn in der Produktionsumgebung zu verwenden. Um die Leistung und Stabilität der Anwendung in der Produktionsumgebung sicherzustellen, wird die Verwendung von Gunicorn empfohlen.Waffenhorn Übernimmt als Anwendungsserver die Ausführung von Python-Code und die Multiprozessverwaltung.
Gunicorn installieren:
pip3 install gunicorn
Führen Sie die Flask-Anwendung mit Gunicorn aus:
gunicorn --bind 0.0.0.0:8000 app:app
Verwenden Sie Gunicorn, um Django-Anwendungen auszuführen:
gunicorn --bind 0.0.0.0:8000 myproject.wsgi:application
Nginx installieren:
sudo yum install nginx
Konfigurationsdatei bearbeiten /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;
}
}
Nginx-Konfiguration neu laden:
sudo systemctl restart nginx
Erstellen Sie eine neue Systemd-Dienstdatei:
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
Wille ExecStart
Ändern Sie die Zeile in:
ExecStart=/usr/bin/gunicorn --workers 3 --bind unix:myproject.sock -m 007 myproject.wsgi:application
Starten und aktivieren Sie den Dienst:
sudo systemctl start myproject
sudo systemctl enable myproject
Stellen Sie sicher, dass der Dienst ausgeführt wird:
sudo systemctl status myproject
Auf diese Weise wird Ihre Python-API erfolgreich in der Linux-Umgebung bereitgestellt. Sie können die Konfiguration nach Bedarf an Ihre spezifischen Projektanforderungen anpassen. Ich hoffe, dieser ausführliche Leitfaden war hilfreich!