Wie führe ich Gunicorn / einen Python-App-Server als Nicht-Root-Benutzer aus? [geschlossen]

8

Ich stelle eine django-App mit gunicorn hinter nginx auf centos 5. Wie kann ich gunicorn als Nicht-root-Benutzer ausführen? Keine der Unterlagen scheint dies zu berücksichtigen. Dies gilt wahrscheinlich auch für alle Python-Anwendungsserver, die hinter nginx laufen ...

Ich sollte hinzufügen, dass das Folgende nicht funktioniert:

%Vor%

Es schlägt fehl mit:

%Vor%

Antwort:

Mein Fehler. Ich hatte eine benutzerdefinierte settings.py-Datei, so sollte Gunicorn mit aufgerufen haben:

%Vor%     
user1199438 13.02.2012, 14:37
quelle

1 Antwort

2

Ich empfehle supervisord . Supervisor startet Ihre App unter dem Benutzerkonto, das Sie beim Booten angeben.

Hier ist mein my_app.conf welches ich unter /etc/supervisor/conf.d /:

platziere %Vor%

Mein run_gunicorn-Skript lautet dann:

%Vor%

Ich könnte Gunicorn direkt in my_app.conf referenzieren, aber ich kann nicht auf diese Weise aktiv werden. Ich habe meinen DJANGO_SECRET am Ende meines Aktivierungsskripts als env var platziert. Es ist auch gut, das mit API-Schlüsseln und anderen sensiblen Dingen zu tun, die nicht in Git oder Mercurial gehören.

Meine gunicorn.conf ist:

%Vor%

Eigentlich bin ich sicher, dass es verbessert werden könnte, aber sie lassen meine App laufen, ohne root zu sein. Supervisord stellt sicher, dass der Anwendungsserver weiterhin ausgeführt wird. Ich zeige dann nginx auf meinem App-Server über proxy_pass (kann dies auch bei Bedarf teilen).

EDIT: Klärung von Dateinamen

    
Jeremy 27.11.2013 06:40
quelle

Tags und Links