Τρόπος εγκατάστασης Lighttpd + PHP στο Fastcgi Mode

10 Μαΐου 2008 Filed under Τρόπος του 3 Σχόλια

Li ghttpd (http://www.lighttpd.net) είναι ένας δαίμονας web, που θα χρησιμοποιούν ευρέως για την εγκατάσταση συμπλέγματος. Lighttpd έχει μικρότερη μνήμη αποτύπωμα σε σύγκριση με Apache (http://httpd.apache.org) που χρησιμοποιείται ευρέως για το μεγαλύτερο μέρος της παραγωγής servers σε όλο τον κόσμο. Η αποτελεσματική διαχείριση της CPU χαρακτηριστικά και γρήγορα από ταχύτητας Lighttpd καθιστούν καλύτερη επιλογή για υψηλής κυκλοφορίας χώρων και ομάδων. Προτιμούμε τη χρησιμοποιούν, καθώς και για μας συμπλέγματα μαζί με php FastCGI εκτελείται σε κατάσταση λειτουργίας. Ο συνδυασμός αυτός προσφέρει μια φοβερή δυναμική περιβάλλον για την ταχεία παράδοση της PHP με βάση το περιεχόμενο. Οι ακόλουθες οδηγίες πώς να δείχνει για την εγκατάσταση Lighttpd + PHP FastCGI σε λειτουργία.

Πρέπει να ελέγξετε για ορισμένες προϋποθέσεις εδώ για να κάνουμε αυτή την εγκατάσταση. Θα λίστα τους, όπως παρακάτω:

  • MySQL Server Εγκατάσταση
  • OpenSSL Installed
  • PCRE και PCRE-devel πακέτα εγκατεστημένα

Αυτά είναι βασικές προϋποθέσεις και αν χρειάζεστε κάποιες άλλες ειδικές ενότητες εγκατάσταση αυτών μπορεί να αλλάξει επίσης. Θεωρώ δεδομένο το λειτουργικό σύστημα για το διακομιστή θα CentOS 5.x σε αυτόν τον τρόπο, αλλά εγώ πιστεύω αυτό τον τρόπο θα πρέπει να εργαστούν για το Fedora, CentOS ή RHEL επίσης. Μπορείτε να χρησιμοποιήσετε "Yum" για την εγκατάσταση του παραπάνω απαιτήσεις ή χρήση "up2date" σχετικά με το RHEL. Ας υποθέσουμε ότι οι προϋποθέσεις έχουν ήδη ικανοποιηθεί και θα πάμε με την πραγματική εγκατάσταση. Θα κάνουμε ένα προσωρινό κατάλογο για την εγκατάσταση, ώστε να μπορέσουμε να καταργήσετε αυτό το ευρετήριο όταν η εγκατάσταση είναι επιτυχής.

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

Θα κάνετε λήψη της τελευταίας lighttpd αρχείο προέλευσης από τον τόπο αυτό και αποσυμπίεσης.

  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 
  πίσσα xzf lighttpd-1.4.19.tar.gz 
  lighttpd cd-1.4.19 
  = / usr . / Configure - πρόθεμα = / usr 
  κάνω 
  make install 

Μόλις Lighttpd είναι εγκατεστημένο πρέπει να αντιγράψετε το init.d script για Lighttpd επίσης και η διαδικασία αναπαραγωγής-php.sh script στο / etc / init.d /. Αυτή η διαδικασία αναπαραγωγής-php.sh θα χρησιμοποιηθούν για να αναπαράγονται php-fcgi διαδικασίες αργότερα, αφού θα οικοδομηθεί η 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 / SPAWN-php.sh / etc / init.d / SPAWN-php.sh 

Τώρα πρέπει να οικοδομήσουμε fastcgi στο διακομιστή.

  www.fastcgi.com / dist / fcgi-2.4.0.tar.gz wget http:// www.fastcgi.com / dist / fcgi-2.4.0.tar.gz 
  πίσσα xvf fcgi-2.4.0.tar.gz 
  fcgi cd-2.4.0 
  = / usr . / Configure - πρόθεμα = / usr 
  κάνω 
  make install 

Php χρειάζεται να αναπτυχθεί μετά από αυτό το βήμα. Μπορείτε να χρησιμοποιήσετε είτε php4 ή PHP5 ανά όπως σας απαίτηση. Θα χρειαστεί να κατεβάσετε το php πηγή από την PHP site (http://www.php.net) στο / usr / src / lighttpd_install πριν προχωρήσει στο επόμενο βήμα. Εμείς θα χρησιμοποιήσουμε PHP5 σε αυτή την περίπτωση και την έκδοση PHP χρησιμοποιείται για το φροντιστήριο είναι η PHP 5.2.6. Αφού έχετε κατεβάσει την πηγή τα μέτρα θα είναι τα παρακάτω: Αν έχετε μια υπάρχουσα και εργασίας για την εγκατάσταση php server, μπορείτε να χρησιμοποιήσετε τις ίδιες επιλογές για να ρυθμίσετε εκ νέου κτιρίου php. Το ακόλουθο απόσπασμα κώδικα θα πρέπει να φέρω το υπάρχον config γραμμή χωρίς τις επιλογές που έχουμε ανάγκη για την οικοδόμηση

   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 / "- με-apxs =.* apxs" / "" / g | sed s / ". \ / ρύθμισης" / "" / g | \ 
  "--prefix= \/ usr \/ local " / "" / g | sed  s / "--with-apxs2=.*apxs " / "" / g |\ sed s / "- πρόθεμα = \ / usr \ / τοπικό" / "" / g | sed s / "- με-apxs2 =.* apxs" / "" / g | \ 
   ^tidy grep-v ^ tidy 

Η χρήση αυτής της εξόδου από την παραπάνω εντολή μαζί με τις παρακάτω επιλογές για configure γραμμή σας, όπως να οικοδομήσουμε php όπως fastcgi

  usr / local / php5-fcgi --enable-force-cgi-redirect\ - Πρόθεμα = / usr / local / PHP5-fcgi - enable-force-cgi-ανακατευθύνετε \ 
  - enable-fastcgi - enable-απόρριψη-Path 

Αν δεν έχετε μια υπάρχουσα εγκατάσταση php, php οικοδομηθεί μόνο με ό, τι επιλογές έχετε ανάγκη και να προσθέσετε το επιτρέψει-fastcgi-επιλογές ως ανωτέρω. Η διαδικασία θα έχει ως κατωτέρω:

  usr / src / lighttpd_install cd / usr / src / lighttpd_install 
  πίσσα zxf php-5.2.6.tar.gz 
  add options you need to add or use\ . / Configure --- (€ επιλογές θα πρέπει να προσθέσετε ή να χρησιμοποιούν \ 
   = / usr / local / php5-fcgi\ το config που δημιουργούνται από την ανωτέρω γραμμή) \ - πρόθεμα = / usr / local / PHP5-fcgi \ 
  - enable-force-cgi-ανακατευθύνετε - enable-fastcgi - enable-απόρριψη-Path 
  κάνω 
  make install 

Εάν η εγκατάσταση είναι επιτυχής, θα πρέπει να πρέπει να δείτε php χτισμένο με cgi-mode fcgi ως κατωτέρω. Παρακαλώ κόμβο το PHP binary όνομα θα μπορούσε επίσης να 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) (κατασκευής: May 8 2008 02: 38: 11) 
  1997 - 2008  The PHP Group Πνευματικά δικαιώματα (c) 1997 - 2008 Η Ομάδα PHP 
  1998 - 2008  Zend Technologies Zend Engine v2.2.0, Copyright (c) 1998 - 2008 Zend Technologies 
      2004 - 2006  eAccelerator, by eAccelerator με eAccelerator v0.9.5.2, Copyright (c) 2004 - 2006 eAccelerator, από eAccelerator 
      2002 - 2007 , by ionCube Ltd., and με την ionCube PHP Loader v3.1.32, Copyright (c) 2002 - 2007, από ionCube Ltd, και 
      2003 - 2007 , by Zend Technologies Επέκταση με Zend Manager V1.2.2, Copyright (c) 2003 - 2007, από την Zend Technologies 
      1998 - 2007 , by Zend Technologies με Zend Optimizer v3.3.3, Copyright (c) 1998 - 2007, από την Zend Technologies 

Μετά την επιτυχία κτίριο Lighttpd και PHP στο Fastcgi λειτουργία, τη στιγμή σε θέση να ρυθμίσετε τώρα να δουλεύουν μαζί. Σε αυτό το tutorial που έχουμε μπροστά μας ένα μόνο χώρο περιβάλλον και γι 'αυτό θα καθορίσει τις ρυθμίσεις ανάλογα αρχεία. Θα προσθέτοντας μερικές ακόμη πώς να το οποίο σύντομα θα δείτε τις συνθέσεις που πρέπει να γίνουν για πολλαπλά περιβάλλοντα site ή ακόμη και πολύπλοκες ρυθμίσεις όπως η εξισορρόπηση φορτίου με τη χρήση Apache και Lighttpd μαζί.

  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 

Πρέπει να διασφαλίσουμε τις ακόλουθες ενότητες έχουν πλέον τη δυνατότητα, σε lighttpd.conf. Απλώς χρειάζεται να Ανεξέλεγκτες.

  • 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

Ο server modules τμήμα της lighttpd.conf πρέπει να εξετάσουμε ως κατωτέρω μετά την μεταβολή:

  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") 

Οι άλλες επιλογές που θα πρέπει να αλλάξει είναι οι εξής:

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

Το έγγραφο ρίζα μπορεί να είναι ακόμη στο / var / www / html ή απλά θέλετε οπουδήποτε. Επιλέγουμε / home / username / public_html ftp για ευκολότερη πρόσβαση σε ενημερώσεις για την τοποθεσία.

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

Η αλλαγή αυτής της ρύθμισης είναι προαιρετική. Εάν θέλετε ο χρήστης να έχει πρόσβαση στο αρχείο καταγραφής σφαλμάτων στη συνέχεια, αλλάξτε την παραπάνω επιλογή. Διαφορετικά μπορείτε να αφήσετε τη ρύθμιση ως έχει. Απλά βεβαιωθείτε ότι έχετε δημιουργήσει το αρχείο του φακέλου / var / log / lighttpd και chowned στο όνομα χρήστη που εμφανίζετε ως lighttpd και php.

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

Και αυτή η ρύθμιση είναι επίσης προαιρετική. Εάν θέλετε ο χρήστης να έχει πρόσβαση στο αρχείο καταγραφής πρόσβασης στη συνέχεια, αλλάξτε την παραπάνω επιλογή.

  server.port = 80 

Η προεπιλεγμένη θύρα είναι 80. Αν θέλετε να δοκιμάσετε ή να εκτελέσετε σας lighttpd εγκατάστασή τους σε μη τυποποιημένο λιμένα, θα πρέπει να αλλάξει αυτό.

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

Αυτή είναι η διεύθυνση IP για lighttpd ακούει. Από προεπιλογή θα ακούει σε όλες τις διευθύνσεις IP. Αν θέλετε να δεσμεύεται μόνο ένα IP στον διακομιστή σας ανάγκη καθορίσετε αυτή την επιλογή.

  server.username = "χρήστης" 
  server.groupname = "χρήστης" 

Το όνομα χρήστη και ομάδα η οποία θα διαρκέσει ως lighttpd. Θα έχουμε την διακομιστή που εκτελείται σε κατάσταση λειτουργίας suexec όταν θα προσδιορίζει τις επιλογές αυτές. Τα αρχεία που δημιουργούνται από τον server θα ανήκουν στην ίδια username.

   = & gt; fastcgi.server = ( ". php" = & GT? 
     = & gt; "127.0.0.1" , (( "Host" = & GT? "127.0.0.1", 
       gt; 1026 , "λιμάνι" = & GT? 1026, 
       gt; "/usr/local/php5-fcgi/bin/php" "bin-path" = & GT? "/ usr/local/php5-fcgi/bin/php" 
    )) 

  ) 

Στο παραπάνω τμήμα είμαστε php αρχεία που προδιαγράφουν πώς θα αντιμετωπιστεί. Ο Μπιν-διαδρομή θα αλλάξει, καθώς και το λιμάνι με βάση τα αυγά ψαριών-php.sh script που θα τη ρύθμιση επόμενη. Μετά από όλες αυτές τις αλλαγές, οι lighttpd.conf είναι όλα τα setup για χρήση μετά την αποθήκευση του αρχείου. Τώρα θα τον ρύθμισης SPAWN-php.sh script που έχουμε προηγουμένως αντιγράφονται στο / etc / init.d /

  etc / init.d / cd / etc / init.d / 
  vi SPAWN-php.sh 

Οι παρακάτω επιλογές θα πρέπει να επεξεργαστεί σε αυτήν τη δέσμη ενεργειών:

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

Ο δρόμος για να αναπαράγονται-fcgi θα είναι όπως παραπάνω, όπως έχουμε ρυθμιστεί με το / usr πρόθεμα πριν.

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

Αυτή η διαδρομή θα είναι η απόλυτη διαδρομή προς το php-fcgi binary. Παρακαλώ σημειώστε ότι μπορεί να είναι ο / usr/local/php5-fcgi/bin/php-cgi επίσης.

  FCGIPORT = "1026" 
  FCGI_WEB_SERVER_ADDRS = "127.0.0.1" 

Αυτά μπορεί να μείνει μόνο ως έχουν αν δεν θέλουν μια διαφορετική IP ή ειδικά Port.

  = Χρήστη username 
  GROUPID = username 

Η ταυτότητα χρήστη και groupid για το σενάριο θα ήταν ίδια με αυτή που έχετε χρησιμοποιήσει στον lighttpd.conf πριν. Αποθηκεύστε το script και μετά CHMOD 755 και να το εκτελέσετε. Θα πρέπει να δείτε κάτι όπως η παρακάτω, όπως η παραγωγή:

  SPAWN-fcgi.c.197: παιδί συζητήσεις με επιτυχία: PID: 10985 

Τώρα είναι καιρός να αρχίσει lighttpd. Βεβαιωθείτε ότι το lighttpd κορμοί φακέλους δημιουργούνται και ο χρήστης ownerships έχουν οριστεί σωστά. Αφού γίνει αυτό, μπορείτε να ξεκινήσετε lighttpd χρησιμοποιώντας την εντολή όπως παρακάτω:

  server ~ ] #/etc/init.d/lighttpd start [Root @ server ~] # / etc / init.d / lighttpd ξεκίνημα 
  Ξεκινώντας lighttpd: [OK] 

Ελέγξτε την κατάσταση για να βεβαιωθείτε ότι λειτουργεί διαφορετικά ελέγξετε το αρχείο καταγραφής σφαλμάτων, όπως ορίζεται από το αρχείο ρυθμίσεων.

  server ~ ] # /etc/init.d/lighttpd status [Root @ server ~] # / etc / init.d / lighttpd καθεστώς 
  )  is running... lighttpd (PID 11210) εκτελεί ... 

Αυτό ολοκληρώνει την εγκατάσταση βήματα. Για να ελέγξετε την PHP μπορείτε να ανεβάσετε ένα αρχείο στο phpinfo τον ριζικό φάκελο. Ένα δείγμα θα έχει το phpinfo.php κώδικα όπως:

Αν σας εγκατάσταση λειτουργεί σωστά, θα πρέπει να δείτε το ως CGI Server API / FastCGI καθώς δείχνει στην παρακάτω εικόνα.
Αν δείτε τα παραπάνω, έχετε ολοκληρώσει μια επιτυχημένη εγκατάσταση του lighttpd και php εκτελείται ως fastcgi. Ελπίζουμε ότι σας άρεσε αυτό τον τρόπο και είναι χρήσιμο για τη δημιουργία υψηλής απόδοσης lighttpd + PHP fastcgi ρυθμίσεις για το site σας.