Andreas Korthaus: lighttpd

Beitrag lesen

Hi!

ich habe das kurz mal installiert. Aber wie man z.B. php ans Laufen bekommt, habe ich nicht verstanden.

Entweder per CGI, oder erheblich effizienter, per FCGI. Irgendwo im Surce findest Du eine kommentierte Beispiel-Config, das fand ich beim ersten mal recht hilfreich. Ich habe das ganze relativ problemlos auf Gentoo über Portage installieren können.

Die Doku zu FastCGI ist da ganz hilfreich bei der Konfiguration: http://lighttpd.net/documentation/fastcgi.html

Ich habe external spawning verwendet, beim kopilieren hat lighttpd ein 2. binary installiert: spawn-fcgi. (keine Ahnung ob es hier eines bestimmten configure-switches bedarf). Eine beispielhafte Konfig findest Du in der verlinten Doku, ist sehr simpel.

Beim kompilieren von PHP ist es wichtig, dass nicht --with-apxs bzw. --with-apxs2 verwendet wird, dafür wird --enable-fastcgi,  --enable-discard-path und --enable-force-cgi-redirect benötigt.

Meine Lighttpd-Konfiguration sieht etwas so aus:

# cat  /etc/lighttpd.conf  
  
server.modules              = ( "mod_access",  
                                "mod_fastcgi",  
                                "mod_accesslog" )  
  
server.document-root        = "/var/www/localhost/htdocs/"  
  
server.errorlog             = "/var/log/lighttpd/error.log"  
  
server.indexfiles           = ( "index.php", "index.html",  
                                "index.htm", "default.htm" )  
  
accesslog.filename          = "/var/log/lighttpd/access.log"  
  
fastcgi.server              = ( ".php" =>  
                                ( "localhost" =>  
                                  (  
                                    "host" => "127.0.0.1",  
                                    "port" => 1026  
                                  )  
                                )  
                              )  
  
mimetype.assign             = (  
  ".pdf"          =>      "application/pdf",  
  ".sig"          =>      "application/pgp-signature",  
  ".spl"          =>      "application/futuresplash",  
...  
[GEKÜPRZT]  
...  
  ".asx"          =>      "video/x-ms-asf",  
  ".wmv"          =>      "video/x-ms-wmv"  
 )  

Das finde ich schon sehr simpel. Wenn man einmal durchgestiegen ist.

Perl dürfte leichter sein.

keine Ahnung - warum?

Irgendeinen Tip, was man zum Cachen nutzen sollte?

Ich finde folgendes sehr interessant: http://turck-mmcache.sourceforge.net/index_old.html#bench

Benchmark phpmyadmin Startseite (Requests/Sekunde):
1. PHP ohne alles: 8.91
2. mit opcode-Cache: 43.27
3. mit content-Cache: 543.48

Bei 1. und 2. wird der PHP-Code ausgeführt, bei letzterem wird die Ausgabe von PHP im RAM gecached, also kein PHP mehr ausgeführt. Passiert aber alles noch in der "PHP-Engine". Bei letzterem bist Du nicht mehr weit von statischen Requets enfernt. Weiter geht es dann mit einem Squid als Reverse-Proxy, der Requests für gewisse Zeit komplett vom Webserver fernhält, vermutlich ähnlich effizient wie das lighttpd cache-modul. Also wieder zum lighttpd-benchmark ff. (Tests mit AMD Duron 2000):

ohne lighttpd Cache

* statische Seite: 17.000 R/s (100%)
    * Hello-world PHP: 1.200 R/s (7%)
    * PHP jan.kneschke.de: 100 R/s (0,58%)

mit lighhtpd Cache (letzter Request):

*  4900 R/s für einen Cache-Hit
    * 100 R/s für einen Cache-Miss

Und dann gibt es ja noch die Möglichkeit per HTTP-Header dafür zu sorgen, dass die Browser die Resource eine gewisse Zeit lokal cachen, ohne bei neuem Zugriff auf Änderungen zu prüfen, siehe: http://aktuell.de.selfhtml.org/artikel/server/apachetuning/index.html#a8

Grundsätzlich sollte alles, was (egal ob mit Parametern oder nicht) gecached und wenn vorhanden zurückgeworfen werden, sofern es innerhalb einer bestimmten Zeitspanne liegt.

Wenn das geht kannst Du sehr gut cachen, auch auf der effizientesten Ebene, HTTP. Denn nur damit kannst Du Requests komplett verhindern!

Grüße
Andreas

--
SELFHTML Tipps & Tricks: http://aktuell.de.selfhtml.org/tippstricks/
0 46

Tutorial zu FCGI gesucht

Reiner
  • cgi
  1. 1
    Andreas Korthaus
    1. 0
      Reiner
      1. 1
        Andreas Korthaus
        1. 0
          Reiner
          1. 1
            Andreas Korthaus
            1. 0
              Reiner
              1. 1
                Andreas Korthaus
                1. 0

                  Super!

                  Reiner
                  1. 0
                    Andreas Korthaus
                    1. 0
                      Reiner
                      1. 1
                        Andreas Korthaus
                        1. 0
                          Reiner
                          1. 1
                            Andreas Korthaus
                            1. 0
                              Reiner
                              1. 1

                                lighttpd

                                Andreas Korthaus
                                • webserver
                                1. 0
                                  Reiner
                                  1. 1
                                    Andreas Korthaus
                                    1. 0
                                      Reiner
                                      1. 0
                                        Andreas Korthaus
                                        1. 0
                                          Reiner
                                          1. 0
                                            Andreas Korthaus
                                          2. 0

                                            PHP/MySQL optimieren / Caching

                                            Andreas Korthaus
                                            1. 0
                                              Anonymous
                                              1. 0
                                                Reiner
                                                1. 0
                                                  Anonymous
                                                2. 0
                                                  Andreas Korthaus
                                                  1. 0
                                                    Anonymous
                                                    1. 0
                                                      Reiner
                                                      1. 0
                                                        Anonymous
                                                        1. 0
                                                          Andreas Korthaus
                                                          1. 0

                                                            wieder was zum Thema

                                                            Reiner
                                                            1. 0
                                                              Reiner
                                                              1. 0
                                                                Reiner
                                                              2. 0
                                                                Andreas Korthaus
                                                                1. 0
                                                                  Reiner
                                                                  1. 0
                                                                    Anonymous
                                                                    1. 0
                                                                      Reiner
                                                                      1. 0
                                                                        Anonymous
                                                                        1. 0
                                                                          Reiner
                                              2. 0
                                                Andreas Korthaus
                                                1. 0
                                                  Anonymous
                2. 0
                  Christoph Zurnieden
  2. 1
    Christoph Zurnieden
  3. 0
    Andreas Korthaus
  4. 0

    SQL-Abfragen/JOINs optimieren, Volltextsuche

    Andreas Korthaus
    • datenbank