Ich benutze Django unter Linux mit fcgi und Lighttpd. Hin und wieder (etwa einmal am Tag) stirbt der Server. Ich verwende die neueste stabile Version von Django, Python und Lighttpd.Warum würde Django fcgi einfach sterben? Wie kann ich es herausfinden?
Das einzige, was mir einfällt, ist, dass mein Programm eine Menge Dateien öffnet und viele externe Prozesse ausführt, aber ich bin ziemlich sicher, dass diese Seite der Dinge wasserdicht ist.
Betrachtet man die Fehler- und Zugriffsprotokolle, passiert nichts Außergewöhnliches (d. H. Die Last liegt nicht über dem Normalwert). In den Fällen, in denen ich Ausnahmen von Python hatte, wurden diese in der error.log angezeigt, aber wenn dieser Absturz passiert, bekomme ich nichts.
Gibt es eine Möglichkeit herauszufinden, warum der Prozess gestorben ist? Kurz, Logging-Anweisungen in jede einzelne Zeile zu schreiben? Natürlich kann ich das nicht reproduzieren, daher weiß ich nicht genau, wo ich suchen soll.
bearbeiten
Es ist das django Prozess, sterben wird. Ich bin mit den Server mit manage.py runfcgi daemonize=true method=threaded host=127.0.0.1 port=12345
Haben Sie nach Kerndateien gesucht? Haben Sie Ihre Grenzwerte so festgelegt, dass Kerndateien zulässig sind? – jemfinch
Können Sie den Server einfach über die Befehlszeile in einem nicht dämonischen Debug-Modus ausführen? –
Wenn ich die Frage noch einmal lese, ist eines nicht ganz klar: Stirbt der Lighttpd-Daemon, oder ist es Ihr eigener FastCGI-Prozess? – Thomas