Ausgabe
Ich stelle meine schnelle API auf aws ec2 bereit, aber das Problem ist, dass ich python3 -m uvicorn main:app
meine fastapi-App manuell ausführen muss, um sie zu starten, und wenn ich das Terminal schließe, kann auf meine fastapi-App nicht über die öffentliche aws-IP zugegriffen werden.
Hier ist die Ngnix-Konfiguration:
server {
listen 80;
server_name aws ip;
location / {
proxy_pass http://127.0.0.1:8000;
}
}
Lösung
Sie können tmux
oder verwenden screen
, um einen lange laufenden Prozess wie hier beschrieben zu starten: keep server running on EC2 instance after ssh istermined .
Diese Sitzungen bleiben auch nach dem Schließen des Terminals bestehen.
Wenn Sie eine robustere Lösung benötigen (z. B. automatische Neustarts bei Fehlern, Protokollierung usw.), würde ich die Verwendung von AWS Elastic Container Service (ECS) prüfen. Dies übernimmt die Skalierung, Neustarts, Protokollierung und vieles mehr.
Beantwortet von – Jeremypleb
Antwort geprüft von – Timothy Miller (FixError Admin)