Sådan installeres Lighttpd + PHP i Fastcgi Mode

10 mai 2008 Filed under Sådan's

Li ghttpd (http://www.lighttpd.net) er en webserver daemon, som vi i vid udstrækning brug for klynge ressourceanvendelse. Lighttpd har en mindre hukommelse fodaftryk i forhold til Apache (http://httpd.apache.org) som er meget udbredt på de fleste produktions-servere over hele verden. Den effektive CPU forvaltning funktioner og hurtig hastighed fra Lighttpd gøre det til et foretrukket valg for høj trafik websteder og klynger. Vi foretrækker at bruge det så godt for vores klynger sammen med php kører i FastCGI tilstand. Denne kombination giver en fantastisk hurtig miljø for dynamisk levering af PHP baseret indhold. Følgende, hvordan man viser instruktioner om installation Lighttpd + PHP i FastCGI tilstand.

Vi er nødt til at tjekke for nogle forudsætninger her, før du laver denne installation. Jeg vil liste dem ud som nedenfor:

  • MySQL Server installation
  • Openssl Installeret
  • Pcre og pcre-devel pakker installeret

Dette er blot grundlæggende krav, og hvis du har brug for nogle andre særlige moduler installeret disse kan ændre sig så godt. Jeg går ud fra den OS til serveren vil blive CentOS 5.x i denne hvordan, men jeg tror dette, hvordan man bør arbejde for Fedora, CentOS eller RHEL så godt. Du kan bruge "yum" for at installere over kravene eller brug "up2date" på RHEL. Lader formode, at forudsætningerne er allerede opfyldt, og vi vil gå videre med den faktiske installation. Vi vil gøre en midlertidig mappe til installation, så vi kan fjerne denne mappe, når installationen er fuldført.

  usr / src / lighttpd_install mkdir / usr / src / lighttpd_install 

Vi vil hente den nyeste lighttpd source fil fra deres hjemmeside og dekomprimere den.

  usr / src / lighttpd_install cd / usr / src / lighttpd_install 
  www.lighttpd.net / download / lighttpd-1.4.19.tar.gz wget http:// www.lighttpd.net / download / lighttpd-1.4.19.tar.gz 
  tjære xzf lighttpd-1.4.19.tar.gz 
  CD lighttpd-1.4.19 
  = / usr . / Configure - præfiks = / usr 
  lave 
  gøre installere 

Når Lighttpd er installeret, vi har brug for at kopiere init.d script for Lighttpd og også den gyde-php.sh script til / etc / init.d /. Denne gyde-php.sh vil blive brugt til at gyde php-fcgi processer senere efter vi bygge PHP.

   doc / rc.lighttpd.redhat / etc / init.d / lighttpd cp-av doc / rc.lighttpd.redhat / etc / init.d / lighttpd 
   doc / spawn-php.sh / etc / init.d / spawn-php.sh cp-av doc / gyde-php.sh / etc / init.d / gyde-php.sh 

Nu er vi nødt til at bygge fastcgi på serveren.

  www.fastcgi.com / dist / fcgi-2.4.0.tar.gz wget http:// www.fastcgi.com / dist / fcgi-2.4.0.tar.gz 
  tjære xvf fcgi-2.4.0.tar.gz 
  CD fcgi-2.4.0 
  = / usr . / Configure - præfiks = / usr 
  lave 
  gøre installere 

Php skal være bygget efter dette skridt. Du kan enten bruge php4 eller php5 som pr dine krav. Du er nødt til at hente php kilde fra PHP-websted (http://www.php.net) i / usr / src / lighttpd_install, før man går videre til næste trin. Vi vil bruge PHP5 i denne sag og php version anvendes til selvstudie er PHP 5.2.6. Når du har hentet kilden de skridt ville være som nedenfor: Hvis du har en eksisterende og arbejder php installation på serveren, kan du bruge de samme konfigurere indstillinger for bygningen php igen. Følgende kodestykke bør få dig de eksisterende config linje uden de muligheder, vi har brug for at opbygge

   config | sed  s / "'" / "" / g | sed  s / "&lt;.*&gt; " / "" / g |\ php-i | grep config | sed s / "" "/" "/ g | sed s / "<.*>" / "" / g | \ 
  "&lt; \/ .*&gt;" / "" / g | sed  s / ".* =&gt;  " / "" / g | sed  s / "'" / "" / g |\ sed s / "<\ / .*>" / "" / g | sed s / ".* =>" / "" / g | sed s / "" "/" "/ g | \ 
  "--with-apxs=.*apxs " / "" / g | sed  s / ". \/ configure " / "" / g |\ sed s / "- med-apxs =.* apxs" / "" / g | sed s / ". \ / configure" / "" / g | \ 
  "--prefix= \/ usr \/ local " / "" / g | sed  s / "--with-apxs2=.*apxs " / "" / g |\ sed s / "- præfiks = \ / usr \ / lokale" / "" / g | sed s / "- med-apxs2 =.* apxs" / "" / g | \ 
   ^tidy grep-v ^ tidy 

Brug denne output fra ovenstående kommando sammen med mulighederne nedenfor som din konfigurere linje at bygge php som fastcgi

  usr / local / php5-fcgi --enable-force-cgi-redirect\ - Præfiks = / usr / local / php5-fcgi - enable-kraft-cgi-omdirigere \ 
  - enable-fastcgi - enable-skille-path 

Hvis du ikke har en eksisterende php installation, bare bygge php med uanset valgmuligheder, du har brug for og tilføje de-aktivere-fastcgi muligheder som ovenfor. Proceduren vil være som nedenfor:

  usr / src / lighttpd_install cd / usr / src / lighttpd_install 
  tjære zxf php-5.2.6.tar.gz 
  add options you need to add or use\ . / Configure --- (tilføj valgmuligheder, du har brug for at tilføje eller bruge \ 
   = / usr / local / php5-fcgi\ Den config linje genereres fra oven) \ - præfiks = / usr / local / php5-fcgi \ 
  - enable-kraft-cgi-omdirigere - enable-fastcgi - enable-skille-path 
  lave 
  gøre installere 

Hvis installationen lykkes, bør du kunne se php bygget med cgi-fcgi tilstand som nedenfor. Venligst node den php binære navn kunne også være php-cgi.

  server ~ ] # /usr/local/php5-fcgi/bin/php -v [Root @ server ~] # / usr/local/php5-fcgi/bin/php-v 
  built: May 8 2008  02: 38 : 11 ) PHP 5.2.6 (cgi-fcgi) (indbygget: 8. maj 2008 02: 38: 11) 
  1997 - 2008  The PHP Group Copyright (c) 1997 - 2008 PHP-Gruppen 
  1998 - 2008  Zend Technologies Zend Engine v2.2.0, Copyright (c) 1998 - 2008 Zend Technologies 
      2004 - 2006  eAccelerator, by eAccelerator med eAccelerator v0.9.5.2, Copyright (c) 2004 - 2006 eAccelerator ved eAccelerator 
      2002 - 2007 , by ionCube Ltd., and med ionCube PHP Loader v3.1.32, Copyright (c) 2002 - 2007, som ionCube Ltd, og 
      2003 - 2007 , by Zend Technologies med Zend Extension Manager V1.2.2, Copyright (c) 2003 - 2007, som Zend Technologies 
      1998 - 2007 , by Zend Technologies med Zend Optimizer v3.3.3, Copyright (c) 1998 - 2007, som Zend Technologies 

Efter en vellykket bygning Lighttpd og PHP i Fastcgi mode, sin tid kan nu konfigurere dem til at arbejde sammen. I dette selvstudium vi overvejer et enkelt websted miljø og så vil vi sætte opsætningsfiler i overensstemmelse hermed. Vi vil være at tilføje nogle flere, hvordan's snart som vil vise de konfigurationer, som skal gøres for multi site miljøer eller selv komplekse opsætninger gerne belastningsjustering ved hjælp af Apache og Lighttpd sammen.

  etc / lighttpd mkdir / etc / lighttpd 
  usr / src / lighttpd_install / lighttpd-1.4.19 cd / usr / src / lighttpd_install / lighttpd-1.4.19 
   doc / lighttpd.conf / etc / lighttpd / cp-v doc / lighttpd.conf / etc / lighttpd / 
  etc / lighttpd / lighttpd.conf vi / etc / lighttpd / lighttpd.conf 

Vi er nødt til at sørge for følgende moduler er nu aktiveret i lighttpd.conf. De behøver kun at være afkommenteret.

  • mod_rewrite
  • mod_redirect
  • mod_alias
  • mod_access
  • mod_cml
  • mod_auth
  • mod_status
  • mod_setenv
  • mod_fastcgi
  • mod_simple_vhost
  • mod_cgi
  • mod_ssi
  • mod_accesslog

Din server moduler del af lighttpd.conf skal se ud som nedenfor efter ændringen:

  server.modules = ( 
                                 "mod_rewrite", 
                                 "mod_redirect", 
                                 "mod_alias", 
                                 "mod_access", 
                                 "mod_cml", 
                                 "mod_auth", 
                                 "mod_status", 
                                 "mod_setenv", 
                                 "mod_fastcgi", 
                                 "mod_simple_vhost", 
                                 "mod_cgi", 
                                 "mod_ssi", 
                                 "mod_accesslog") 

De øvrige valgmuligheder, som skal ændres, er:

  server.document-root = "/ home / brugernavn / public_html" 

Dokumentet root kan endda være i / var / www / html eller bare et hvilket som helst sted, du ønsker. Vi vælger / home / brugernavn / public_html for lettere ftp adgang til placeringen for opdateringer.

  server.errorlog = "/ home / brugernavn / logs / error.log" 

Ændring af denne indstilling er valgfri. Hvis du ønsker brugeren skal have adgang til fejlloggen derefter ændre indstillingen ovenfor. Ellers kan du forlade den indstilling, som den er. Bare vær sikker på at du har oprettet filen mappen / var / log / lighttpd og chowned det til brugernavn du kører lighttpd og php som.

  accesslog.filename = "/ home / brugernavn / logs / access.log" 

Igen denne indstilling er også valgfrit. Hvis du ønsker brugeren har adgang til adgang log derefter ændre indstillingen ovenfor.

  server.port = 80 

Standard-porten er 80. Hvis du ønsker at teste eller køre din lighttpd montering på en ikke-standard port, du har brug for at ændre dette.

  server.bind = "xxx.xxx.xxx.xxx" 

Dette er den IP-adresse lighttpd lytter på. Som standard vil den lytte på alle IP-adresser. Hvis du ønsker det binded til blot en IP på den server, skal du angive denne indstilling.

  server.username = "brugernavn" 
  server.groupname = "brugernavn" 

Det brugernavn og den gruppe, der lighttpd vil køre som. Vi vil have serveren kører i suexec tilstand, når vi angiver disse indstillinger. Filer, der er oprettet af den webserver, vil være ejet af brugernavnet selv.

   = & gt; fastcgi.server = ( ". php" = & gt; 
     = & gt; "127.0.0.1" , (( "Vært" = & gt; "127.0.0.1", 
       gt; 1026 , "port" = & gt; 1026, 
       gt; "/usr/local/php5-fcgi/bin/php" "bin-path" = & gt; "/ usr/local/php5-fcgi/bin/php" 
    )) 

  ) 

I ovenstående afsnit, vi præciserer, hvordan php filer vil blive håndteret. Den bin-sti vil ændre såvel som havnen baseret på gyde-php.sh script, som vi skal opsætte næste. Efter alle disse ændringer, de lighttpd.conf er alle opsætningen til brug, når du gemmer filen. Vi vil nu konfigurere gyde-php.sh script, som vi tidligere har kopieret til / etc / init.d /

  etc / init.d / cd / etc / init.d / 
  VI gyde-php.sh 

Følgende valgmuligheder skal redigeres i dette script:

  SPAWNFCGI = "/ usr / bin / gyde-fcgi" 

Stien til gyde-fcgi vil være som ovenfor, som vi har konfigureret den med / usr præfiks før.

  FCGIPROGRAM = "/ usr/local/php5-fcgi/bin/php" 

Denne vej ville være den absolutte sti til php-fcgi binære. Bemærk det kan være / usr/local/php5-fcgi/bin/php-cgi så godt.

  FCGIPORT = "1026" 
  FCGI_WEB_SERVER_ADDRS = "127.0.0.1" 

Disse kan stå alene som de er, medmindre du ønsker en anden IP eller Port specifikt.

  UserId = brugernavn 
  GROUPID = brugernavn 

Den userid og groupid for scriptet vil være samme som den, du har brugt i lighttpd.conf før. Gem scriptet og derefter chmod den til 755 og kører det. Du bør se noget som nedenfor som produktion:

  gyde-fcgi.c.197: barn opfostrede succes: PID: 10.985 

Nu er det tid til at starte lighttpd. Sørg for, at lighttpd logfiler mapperne er oprettet og brugeren ownerships er indstillet korrekt. Når dette er gjort, kan du begynde lighttpd ved hjælp af kommandoen som nedenfor:

  server ~ ] #/etc/init.d/lighttpd start [Root @ server ~] # / etc / init.d / lighttpd start 
  Starting lighttpd: [OK] 

Kontroller status for at sikre, at den kører på anden måde kontrollere fejllog som angivet i konfigurationsfilen.

  server ~ ] # /etc/init.d/lighttpd status [Root @ server ~] # / etc / init.d / lighttpd status 
  )  is running... lighttpd (pid 11210) kører ... 

Dette afslutter installationen trin. At teste php kan du uploade en phpinfo-fil i dokumentet rodmappen. En prøve phpinfo.php ville have koden gerne:

Hvis din installation kører korrekt, skal du kunne se den server API som CGI / FastCGI da det viser på billedet nedenfor.
Hvis du kan se ovenstående, du har afsluttet en vellykket installation af lighttpd og php kører som en fastcgi. Vi håber du kan lide dette, hvordan og det er nyttigt for oprettelse af høj ydeevne lighttpd + php fastcgi opsætninger for dit websted.

Kommentarer

3: Svar til "Sådan installeres Lighttpd + PHP i Fastcgi Mode"

  1. Jamie Nr. Gravatar på 25 mai 2008 12:24

    Awesome tutorial. I setup mit eget lighttpd og fastcgi setup inden for 30 minutter ved hjælp af dette. Indholdet belastninger meget hurtigt.

  2. Shaun Nr. Gravatar den 11 juni 2008 10:57

    Tak. Denne hvordan du hjalp mig en masse

  3. Cluster opsætning for en Autosurf Website | Round Robin DNS-oplysninger og tjenester på 21 august 2008 3:24

    [...] At styre mængden af trafik dette websted var få. Hver af de webserver knudepunkter blev setup med Lighttpd + PHP som Fastcgi for hurtigere site resultater og dynamisk side [...]

Efterlad et svar