Bottle: Micro Web Framework

Stellt hier eure Projekte vor.
Internetseiten, Skripte, und alles andere bzgl. Python.
MrNiceTry
User
Beiträge: 80
Registriert: Samstag 7. November 2009, 10:32

Ich habe mich für Bottle entschieden, weil es so schlank ist.

Es muß eine ganze Reihe von VM's auf einem Host laufen.
Auf jeder VM ist ein Bottle für die Netzanbindung und Administration der jeweiligen Anwenung auf der VM's.

Ich möchte vermeiden auf jeder VM einen Apache installiert zu haben, der Platz braucht und dafür eigentlich nix zu tun hat.

Und da Bottle ja diesen praktischen eigenen Run-Modus hat spricht doch nichts dagegen, oder.
Benutzeravatar
Defnull
User
Beiträge: 778
Registriert: Donnerstag 18. Juni 2009, 22:09
Wohnort: Göttingen
Kontaktdaten:

Natürlich ist Bottle auch ein Webserver, wenn man ihn als solchen startet. Und damit auch ein Dienst.
Da Bottle aber im Vordergrund bleibt und blockiert, solange er läuft, muss man ihn entweder mit upstart starten oder mit start-stop-daemon in den Hintergrund verbannen.

Code: Alles auswählen

start-stop-daemon --start --background --chdir /var/www/bottle --startas ./app.py --group www-data --chuid www-data --make-pidfile
Bottle: Micro Web Framework + Development Blog
MrNiceTry
User
Beiträge: 80
Registriert: Samstag 7. November 2009, 10:32

Hallo Defnull.

So, alles gemacht.

todo.py läuft als Daemon unter Root und Port 80.

Problem: Es gibt keine Meldungen mehr von der Anwendung/Bottle.

Nicht beim Start, bestimmt auch nicht, falls Bottle mit einem Fehler aussteigt (oder die Anwendung).
Wie denkst Du darüber?
Gibt es eine Möglichkeit die Meldungen anders auszugeben.


MrNiceTry
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Ich hoffe die Server sind nicht am Internet, denn ein Deamon auf Port 80 und dann mit root-Rechten? Ohje. Nicht umsonst droppen alle nennenswerten httpds ihre Berechtigungen auf www-data oder nobody…
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Benutzeravatar
jbs
User
Beiträge: 953
Registriert: Mittwoch 24. Juni 2009, 13:13
Wohnort: Postdam

Wie wäre es denn mit lighttpd statt einem Apache?
[url=http://wiki.python-forum.de/PEP%208%20%28%C3%9Cbersetzung%29]PEP 8[/url] - Quak!
[url=http://tutorial.pocoo.org/index.html]Tutorial in Deutsch[/url]
Benutzeravatar
noisefloor
User
Beiträge: 4173
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: WW
Kontaktdaten:

Hallo,
Problem: Es gibt keine Meldungen mehr von der Anwendung/Bottle.
Nee, wohin auch? Läuft doch im Hintergrund als Daemon. Um's logging musst du dich in so fällen selber kümmern. Lässt sich ja auch mit Bordmitteln von Python realisieren...
todo.py läuft als Daemon unter Root und Port 80.
Hm... Grund: siehe Leonidas Post.

Gruß, noisefloor
Benutzeravatar
noisefloor
User
Beiträge: 4173
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: WW
Kontaktdaten:

Hallo,
Wie wäre es denn mit lighttpd statt einem Apache?
Oder wie wäre es mit Boa? Der ist so klein, dass er selbst auf dem schmalbrüstigsten System läuft. Ist bei Ubuntu auch in den Quellen.

Gruß, noisefloor
Benutzeravatar
jbs
User
Beiträge: 953
Registriert: Mittwoch 24. Juni 2009, 13:13
Wohnort: Postdam

Wie groß issen der Apache eigentlich?
[url=http://wiki.python-forum.de/PEP%208%20%28%C3%9Cbersetzung%29]PEP 8[/url] - Quak!
[url=http://tutorial.pocoo.org/index.html]Tutorial in Deutsch[/url]
lunar

jbs hat geschrieben:Wie groß issen der Apache eigentlich?
Im Durchschnitt wohl so um die 1,80 m.

SCNR
Dauerbaustelle
User
Beiträge: 996
Registriert: Mittwoch 9. Januar 2008, 13:48

jbs hat geschrieben:Wie groß issen der Apache eigentlich?
72cm
Benutzeravatar
jbs
User
Beiträge: 953
Registriert: Mittwoch 24. Juni 2009, 13:13
Wohnort: Postdam

Ich präzisiere: Wie viel Speicherplatz verbrauchen die Dateien des Apache Webservers und welche Ressourcen beansprucht dieser?
[url=http://wiki.python-forum.de/PEP%208%20%28%C3%9Cbersetzung%29]PEP 8[/url] - Quak!
[url=http://tutorial.pocoo.org/index.html]Tutorial in Deutsch[/url]
Dauerbaustelle
User
Beiträge: 996
Registriert: Mittwoch 9. Januar 2008, 13:48

Also ich hab so im Kopf ~80 Megabytes Memory wenn er nur rumidled, ohne irgendwelches Tuning und so Kram.
Benutzeravatar
noisefloor
User
Beiträge: 4173
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: WW
Kontaktdaten:

Hallo,

> Wie groß issen der Apache eigentlich?
Meinst du installiert oder was den Speicherverbrauch angeht?

Auf meinem virtuellen Server mit _wenig_ Traffic belegt der Apache bzw. dessen Kinderprozesse ca. 20-25% RAM (von 512 MB).

Gruß, noisefloor
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Ansonsten gibt es auch andere Server wie nginx oder Cherokee, aber ich muss sagen dass es, zumindest für mich nicht lohnt sich mit deren Setup zu beschäftigen. Das ist mir inzwischen zu nervig geworden, aber wenn man das mal ausprobieren will...
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
MrNiceTry
User
Beiträge: 80
Registriert: Samstag 7. November 2009, 10:32

Hallo.

Hab mich jetzt entschlossen mir lighttpd mal näher anzusehen.
Hab's installiert und probiere rum.

Kann mir jemand einen Tip geben, wie ich Bottle, bzw. die Anwendung einbinde ???


Danke
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Du solltest dir FastCGI ansehen, das unterstützt Lighttpd direkt.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
MrNiceTry
User
Beiträge: 80
Registriert: Samstag 7. November 2009, 10:32

Ich hab jetzt die halbe Nacht mit lighttpd und fastcgi beschäftigt, aber nicht rausgefunden wie man bottle da anbindet.

Aber Bottle läuft doch bei mir an Port 80.
Und ohne Rootrechte geht Port 80 eben nicht.
Und der Port für Webserver ist eben Port 80.

Am Port 80 kommen Anfragen an und die werden vom Programm bearbeitet.

Was kann da schon schlimmes passieren ???
BlackJack

@MrNiceTry: An Port 80 kann man sich ohne root-Rechte nicht binden, aber *danach* geben Webserver die root-Rechte ab und laufen als eigener Benutzer mit weniger Rechten.

Es kann potentiell *alles* passieren. Wenn es eine Sicherheitslücke gibt, kann jemand von aussen Code mit root-Rechten ausführen. Das will man nicht.
MrNiceTry
User
Beiträge: 80
Registriert: Samstag 7. November 2009, 10:32

Kann Bottle seine Rechte abgeben?
Oder kann man das mit Bottle machen?

Irgend etwas muß es doch geben Bottle zu benutzen, oder ?
Dauerbaustelle
User
Beiträge: 996
Registriert: Mittwoch 9. Januar 2008, 13:48

Lass Bottle als FastCGI-Server auf irgend nem Port laufen und verwende z.B. nginx als Proxy.
Antworten