Plack (software)
Originalautor (en) | Tatsuhiko Miyagawa |
---|---|
Entwickler (en) | Tatsuhiko Miyagawa, Tokuhiro Matsuno, Jesse Luehrs, Tomas Doran, Graham Knop und andere. |
Geschrieben in | Perl |
Lizenz | Perl -Lizenz (Künstlerische Lizenz V2 + GNU Allgemeine öffentliche Lizenz V1) |
Webseite | Plackperl |
Plack ist ein Perl Webanwendungs -Programmierrahmen inspiriert von Gestell zum Rubin und WSGI zum Python,[1][2] Und es ist das Projekt hinter dem PSGI Spezifikation verwendet von anderen Frameworks wie z. Katalysator und Tänzer.[3] Mit Plack können Perl -Webanwendungen ohne Live -Webserver getestet werden.[4]
Plackup ist ein Befehlszeile Dienstprogramm So führen Sie PSGI -Anwendungen aus der Befehlszeile aus.[5]
PSGI
PSGI oder Perl Web Server Gateway -Schnittstelle ist ein Schnittstelle zwischen Webserver und Web Applikationen und Frameworks geschrieben in der Perl Programmiersprache, mit der tragbare Anwendungen geschrieben werden können, die als eigenständige Server ausgeführt werden können oder verwenden CGI, Fastcgi, mod_perlet al.[6] Es ist inspiriert von der Webserver -Gateway -Schnittstelle zum Python, Gestell zum Rubin und JSGI zum JavaScript. Eine PSGI -Anwendung ist eine Perl Subroutine Das akzeptiert Argumente als einzelne Hash Referenz und gibt einen Verweis auf eine zurück Array von drei Elementen: a HTTP -Statuscode, ein Verweis auf eine Reihe von HTTP -Header und ein Verweis auf ein Array von HTTP -Körperlinien (normalerweise eine erzeugte Html Dokument) oder a DateiHandle-wie Objekt.
Unterstützte Backends
Ab März 2010[aktualisieren][7] Plack unterstützt die folgenden Server -Backends:
- CGI
- Scgi
- Fastcgi
- mod_perl unter Apache 1.3 und 2.0
- Eigenständige HTTP -Server in Plack enthalten
- Http :: server :: Simple
- Corona
- Sternenmann
- Zweiggy
- Anyevent :: Httpd
- Anyevent :: ReverseHttp
Beispiele
Verwenden des Standard -Standalone HTTP -Servers:
$ Plackup App.psgiHttp :: server :: psgi: Annahme von Verbindungen unter http: // 0: 5000/
Als Fastcgi laufen Dämon auf a zuhören Unix Socket, bereit, von jedem benutzt zu werden Webserver mit Fastcgi -Unterstützung:
$ plackup -s fcgi -listen /tmp/fcgi.sock app.psgiFASTCGI: Manager (PID 3336): Initialisiert FASTCGI: Manager (PID 3336): Server (PID 3337) gestartet FASTCGI: Server (PID 3337): Initialisiert
Ein Arbeiten Hallo Welt Anwendungslauf als a Einzeiler:
$ Plackup -e 'sub {[200, ["Inhaltstyp" => "Text/Plain"], ["Hallo, Welt!"]}' Http :: server :: psgi: Annahme von Verbindungen unter http: // 0: 5000/
Der obige Befehl startet eine HTTP -Server Hören Hafen 5000 von jeder lokalen Schnittstelle (IP Adresse) und gibt dies zurück 200 OK Reaktion auf alle HTTP -Anfrage:
Http/1.0 200 OK Datum: Fr, 19. März 2010 23:34:10 GMT Server: Http :: server :: psgi Inhaltstyp: Text/einfach Inhaltslänge: 13 Hallo Welt!
Verweise
- ^ Poe, Curtis (2012). Perl beginnen. John Wiley & Sons. p. 484. ISBN 9781118235638. Abgerufen 29. Oktober 2018.
- ^ http://plackperl.org
- ^ Quigley, Ellie (2014). Perl mit Beispiel. Pearson Ausbildung. p. 586. ISBN 9780133760811. Abgerufen 29. Oktober 2018.
- ^ Chromatisch (2015). Moderne Perl (Viertes Ausgabe). Die pragmatischen Programmierer, LLC. p. 134. ISBN 978-1-68050-088-2.
- ^ "Plackup - Search.cpan.org". Search.cpan.org. Abgerufen 20. Februar 2016.
- ^ chromatisch. "Webanwendungsentwicklung mit modernem Perl". modernperlbooks.com.
- ^ Plack :: Handlermodule auf CPAN