كيفية تثبيت Lighttpd + PHP في الأسلوب Fastcgi

10 مايو ، 2008 المقدم بموجب كيف 's3 تعليقات

لى ghttpd (http://www.lighttpd.net) هو خادم ويب شيطان الذي نحن استخدام على نطاق واسع لنشر المجموعة. Lighttpd وقد أصغر الذاكرة بالمقارنة مع اباتشي (http://httpd.apache.org) الذي يستخدم على نطاق واسع على معظم الإنتاج في جميع أنحاء العالم. كفاءة إدارة وحدة المعالجة المركزية والسمات والسرعة من Lighttpd ما يجعلها خيارا مفضلا لارتفاع حركة المرور والمواقع والمجموعات. نحن نفضل استخدامه كذلك لدينا مجموعات على طول مع php على التوالي في FastCGI طريقة. وهذا المزيج بسرعة رهيبة ويوفر بيئة دينامية لإيصال PHP على أساس مضمون. التالي يبين كيفية تركيب Lighttpd على تعليمات + PHP في FastCGI طريقة.

لدينا للتأكد من بعض الشروط الأساسية هنا قبل أن أفعل هذا التثبيت. وسوف قائمة بها على النحو التالي :

  • ماي. س. ك تركيب الخادم
  • Openssl تم تثبيته
  • Pcre وPcre بين مجموعات تركيب التنمية)

هذه هي المتطلبات الأساسية وإذا كنت تحتاج إلى بعض وحدات خاصة أخرى تركيب هذه قد تتغير كذلك. وانا افترض ان القانون الأساسي للخادم أن يكون في هذا CentOS 5.x كيفية ولكنني أعتقد أن هذه لكيفية عمل لفيدورا ، CentOS أو RHEL كذلك. يمكنك استخدام "yum" لتركيب فوق بمقتضيات أو استخدام "up2date" على RHEL. دعونا نفترض أن الشروط الأساسية هي بالفعل بالارتياح وسنمضي مع التركيب الفعلي. وسوف نبذل مؤقتة لتركيب دليل حتى نتمكن من إزالة هذا الدليل بمجرد تركيب ناجحة.

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

ونحن سوف تحميل أحدث lighttpd مصدر الملف من الموقع وإفتح عليه.

  usr / src / lighttpd_install مؤتمر نزع السلاح / usr / src / lighttpd_install 
  www.lighttpd.net / download / lighttpd-1.4.19.tar.gz wget http:// www.lighttpd.net / التحميل / lighttpd - 1.4.19.tar.gz 
  القطران xzf lighttpd - 1.4.19.tar.gz 
  مؤتمر نزع السلاح lighttpd - 1.4.19 
  = / usr . / تكوين -- بادئة = / usr 
  يصنع 
  تقديم وتركيب 

وبمجرد تركيب Lighttpd هو أننا بحاجة إلى نسخ البرنامج النصي لinit.d Lighttpd وأيضا تفرخ بين php.sh سكريبت / الخ / init.d /. هذا تفرخ بين php.sh سوف تستخدم لتبيض php - fcgi العمليات في وقت لاحق بعد نبني PHP.

   doc / rc.lighttpd.redhat / etc / init.d / lighttpd البرنامج القطري للمركبات الوثيقة / rc.lighttpd.redhat / الخ / init.d / lighttpd 
   doc / spawn-php.sh / etc / init.d / spawn-php.sh البرنامج القطري للمركبات الوثيقة / تفرخ بين php.sh / الخ / init.d / تفرخ بين 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 - 2.4.0 
  = / usr . / تكوين -- بادئة = / usr 
  يصنع 
  تقديم وتركيب 

Php هناك حاجة لبناء هذه الخطوة بعد. يمكنك إما استخدام php4 أو php5 حسب متطلباتكم. أنت بحاجة إلى تنزيل php مصدر من موقع PHP (http://www.php.net) إلى / usr / src / lighttpd_install قبل الانتقال الى الخطوة التالية. ونحن سوف باستخدام PHP5 في هذه القضية وphp الصيغة المستخدمة لتعليمي هو php 5.2.6. وبمجرد الانتهاء من تحميل المصدر الخطوات التي سيكون على النحو التالي : اذا كان لديك عمل القائمة وتركيب php على الخادم ، يمكنك استخدام نفس تكوين خيارات لبناء php مرة أخرى. وفيما يلي مقتطف الشفرة يجب أن تحصل على القائمة التكوين دون خط الخيارات نحتاج للبناء

   config | sed  s / "'" / "" / g | sed  s / "&lt;.*&gt; " / "" / g |\ php - ط | grep التكوين | الحوار الاقتصادى الاستراتيجى ق / "" / "" / ز | الحوار الاقتصادى الاستراتيجى ق / "<.*>" / "" / ز | \ 
  "&lt; \/ .*&gt;" / "" / g | sed  s / ".* =&gt;  " / "" / g | sed  s / "'" / "" / g |\ الحوار الاقتصادى الاستراتيجى ق / "<\ / *.>" / "" / ز | الحوار الاقتصادى الاستراتيجى ق / "*. =>" / "" / ز | الحوار الاقتصادى الاستراتيجى ق / "" / "" / ز | \ 
  "--with-apxs=.*apxs " / "" / g | sed  s / ". \/ configure " / "" / g |\ الحوار الاقتصادى الاستراتيجى ق / "-- مع - apxs =.* apxs" / "" / ز | الحوار الاقتصادى الاستراتيجى ق / ". \ / تكوين" / "" / ز | \ 
  "--prefix= \/ usr \/ local " / "" / g | sed  s / "--with-apxs2=.*apxs " / "" / g |\ الحوار الاقتصادى الاستراتيجى ق / "-- بادئة = \ / usr \ / المحلية" / "" / ز | الحوار الاقتصادى الاستراتيجى ق / "-- مع - apxs2 =.* apxs" / "" / ز | \ 
   ^tidy grep - الخامس ^ أنيق 

استخدام هذا الناتج من فوق القيادة جنبا إلى جنب مع الخيارات أدناه لكم تكوين لبناء خط php كما fastcgi

  usr / local / php5-fcgi --enable-force-cgi-redirect\ -- بادئة = / usr / المحلية / php5 - fcgi -- تمكين القوة بين المجموعة الاستشارية لاندونيسيا - إعادة توجيه \ 
  -- تمكين - fastcgi -- تمكين - نبذ المسار 

إذا لم يكن لديك قائمة php تركيب ، مجرد بناء php مع كل ما تحتاجون خيارات وتضاف تمكين fastcgi بين الخيارات كما هو وارد أعلاه. الإجراء سيكون على النحو التالي :

  usr / src / lighttpd_install مؤتمر نزع السلاح / usr / src / lighttpd_install 
  القطران zxf php - 5.2.6.tar.gz 
  add options you need to add or use\ . / تكوين --- (إضافة خيارات فإنك بحاجة إلى إضافة أو استخدام \ 
   = / usr / local / php5-fcgi\ فإن التكوين خط المتولدة عن العنوان أعلاه) \ -- بادئة = / usr / المحلية / php5 - fcgi \ 
  -- تمكين القوة - - إعادة توجيه المجموعة الاستشارية لاندونيسيا -- fastcgi - تمكين -- تمكين - نبذ المسار 
  يصنع 
  تقديم وتركيب 

وإذا كان التثبيت هو الناجحة يجب أن نرى مع المجموعة الاستشارية لاندونيسيا بني php - fcgi طريقة كما أدناه. يرجى فإن العقدة php اسم ثنائي ويمكن أيضا php - المجموعة الاستشارية لاندونيسيا.

  server ~ ] # /usr/local/php5-fcgi/bin/php -v [@ الجذر الخادم ~] # / usr/local/php5-fcgi/bin/php الخامس 
  built: May 8 2008  02: 38 : 11 ) PHP 5.2.6 (المجموعة الاستشارية لاندونيسيا - fcgi) (بني : 8 مايو 2008 02 : 38 : 11) 
  1997 - 2008  The PHP Group حقوق النشر (ج) 1997 -- 2008 إن مجموعة PHP 
  1998 - 2008  Zend Technologies Zend محرك v2.2.0 ، حقوق النشر (ج) 1998 -- 2008 Zend تكنولوجيات 
      2004 - 2006  eAccelerator, by eAccelerator مع eAccelerator v0.9.5.2 ، حقوق النشر (ج) 2004 -- 2006 eAccelerator ، eAccelerator 
      2002 - 2007 , by ionCube Ltd., and مع ionCube PHP محمل v3.1.32 ، حقوق النشر (ج) 2002 -- 2007 ، من جانب ionCube المحدودة ، و 
      2003 - 2007 , by Zend Technologies Zend مع التمديد لمدير v1.2.2 ، حقوق النشر (ج) 2003 -- 2007 ، عن طريق تكنولوجيات Zend 
      1998 - 2007 , by Zend Technologies مع Zend محسن v3.3.3 ، حقوق النشر (ج) 1998 -- 2007 ، عن طريق تكنولوجيات Zend 

وبعد النجاح في بناء Lighttpd وPHP في Fastcgi طريقة ، ومرات إلى الآن تهيئة لهم للعمل معا. في هذا البرنامج التعليمي الذي ننظر فيه موقع واحد والبيئة وحتى نكون قد حددنا ملفات التشكيل وفقا لذلك. ونحن سوف مضيفا بعض أكثر كيفية 'sقريبا والتي سوف تظهر التشكيلات التي تحتاج إلى القيام به لموقع متعدد البيئات أو حتى على الاجهزة المعقدة مثل موازنة الحمل باستخدام اباتشي وLighttpd معا.

  etc / lighttpd mkdir / الخ / lighttpd 
  usr / src / lighttpd_install / lighttpd-1.4.19 مؤتمر نزع السلاح / usr / src / lighttpd_install / lighttpd - 1.4.19 
   doc / lighttpd.conf / etc / lighttpd / البرنامج القطري الخامس الوثيقة / lighttpd.conf / الخ / lighttpd / 
  etc / lighttpd / lighttpd.conf سادسا / الخ / 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

الخادم الخاص بك وحدات من الباب 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 بين الجذر = "/ الوطن / اسم المستخدم / public_html" 

الوثيقة حتى يمكن أن يكون الجذر في / فار / على شبكة الاتصالات العالمية / هتمل فقط أو في أي مكان تريد. نختار / الوطن / اسم المستخدم / public_html بروتوكول نقل الملفات لتسهيل الوصول إلى موقع للتحديثات.

  server.errorlog = "/ الوطن / اسم المستخدم / الجذوع / error.log" 

تغيير هذا الإعداد هو اختياري. إذا كنت تريد المستخدم من الوصول إلى سجل خطأ ثم تغيير الخيار المذكور أعلاه. وبخلاف ذلك يمكنك ترك تحديد كما هو. فقط للتأكد من أن تقوم بإنشاء ملف مجلد / فار / السجل / lighttpd وchowned إلى اسم المستخدم تشغيل lighttpd وكما php.

  accesslog.filename = "/ الوطن / اسم المستخدم / الجذوع / access.log" 

مرة أخرى هذا الإعداد هو أيضا اختياري. إذا كنت تريد للمستخدم الوصول إلى تسجيل الدخول ثم الوصول إلى تغيير الخيار المذكور أعلاه.

  server.port = 80 

الافتراضي هو 80 ميناء. إذا كنت تريد اختبار أو البعيد الخاص بك lighttpd تركيب على غير مستوى الميناء ، تحتاج إلى تغيير هذا.

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

وهذا هو عنوان بروتوكول الإنترنت على lighttpd يستمع. افتراضيا أنه يستمع على جميع البرامج المتكاملة. إذا كنت تريد أن binded لايب واحد فقط على الخادم عليك أن تحدد هذا الخيار.

  server.username = "اسم المستخدم" 
  server.groupname = "اسم المستخدم" 

اسم المستخدم والمجموعة التي lighttpd اعتبارا. نحن نذهب لتشغيل الخادم في حين أننا suexec طريقة تحديد هذه الخيارات. الملفات التي أنشأها خادم الشبكة ستكون مملوكة من قبل المستخدم نفسه.

   = & gt; fastcgi.server = ( ". php" جيكا طن = & ؛ 
     = & gt; "127.0.0.1" , (( "المضيفة" جيكا طن = & ؛ "127.0.0.1" ، 
       gt; 1026 , "ميناء" جيكا طن = & ؛ 1026 ، 
       gt; "/usr/local/php5-fcgi/bin/php" "بن لمسار" جيكا طن = & ؛ "/ usr/local/php5-fcgi/bin/php" 
    )) 

  ( 

في الفرع أعلاه ونحن على تحديد كيفية php الملفات ستتم معالجته. وقد بن ستغير مسار فضلا عن الميناء على أساس تفرخ بين php.sh السيناريو الذي سنكون التشكيل المقبل. بعد كل هذه التغييرات ، وجميع lighttpd.conf هو الإعداد للاستخدام مرة واحدة لك حفظ الملف. ونحن الآن في تكوين تفرخ بين php.sh السيناريو الذي ذكرنا من قبل نسخها الى / الخ / init.d /

  etc / init.d / مؤتمر نزع السلاح / الخ / init.d / 
  سادسا تفرخ بين php.sh 

الخيارات التالية تحتاج إلى تحريرها في هذا السيناريو :

  SPAWNFCGI = "/ usr / بن / تفرخ بين fcgi" 

الطريق إلى تفرخ بين fcgi سيكون على النحو الوارد أعلاه كما فعلنا مع تهيئتها / usr البادئة قبل.

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

هذا الطريق سيكون المطلق الطريق إلى php - fcgi ثنائي. يرجى ملاحظة أنه يمكن أن يكون / usr/local/php5-fcgi/bin/php-cgi كذلك.

  FCGIPORT = "1026" 
  FCGI_WEB_SERVER_ADDRS = "127.0.0.1" 

هذه يمكن أن تترك وحدها كما هي إلا إذا كنت ترغب في مختلف ايب أو ميناء على وجه التحديد.

  اسم المستخدم = اسم المستخدم 
  GROUPID = اسم المستخدم 

إسم المستخدم وgroupid لالسيناريو سيكون نفس واحدة لديكم فإن lighttpd.conf المستخدمة في قبل. إنقاذ السيناريو وبعد ذلك chmod إلى 755 والبعيد. يجب أن تتمكن من رؤية شيء من هذا القبيل حيث الناتج أدناه :

  تفرخ بين fcgi.c.197 : ولدت الطفل بنجاح : PID : 10985 

الآن حان الوقت لبدء lighttpd. تأكد من lighttpd الجذوع المجلدات تنشأ وتحدد ملكية المستخدم بشكل صحيح. ومتى تم ذلك ، يمكنك البدء باستخدام lighttpd القيادة على النحو التالي :

  server ~ ] #/etc/init.d/lighttpd start [@ الجذر الخادم ~] # / الخ / init.d / lighttpd بداية 
  وابتداء من lighttpd : [؟] 

التحقق من حالة للتأكد من أنها تدير خلاف ذلك التحقق من سجل الخطأ كما وردت في ملف التهيئة.

  server ~ ] # /etc/init.d/lighttpd status [@ الجذر الخادم ~] # / الخ / init.d / مركز lighttpd 
  )  is running... lighttpd (pid 11210) هي على التوالي... 

هذا يكمل تركيب الخطوات. لاختبار php يمكنك تحميل ملف phpinfo في وثيقة من وثائق مجلد الجذر. عينة phpinfo.php أن مدونة مثل :

وإذا كان التثبيت هو تشغيل بشكل صحيح ، يجب أن نرى ما الملقم API المجموعة الاستشارية لاندونيسيا / FastCGI كما يظهر في الصورة أدناه.
إذا كنت انظر ما ورد أعلاه ، لديك الانتهاء بنجاح من lighttpd تركيب وتشغيل php بوصفها fastcgi. ونأمل لكم كيف يحب هذا وأنه من المفيد لإنشاء عالية الأداء lighttpd + php fastcgi على الاجهزة لموقعك.