व्यक्तिगत रूप से, जबकि Lighttpd ठीक है, मैं अगर तुम अंत एक हल्के वेबसर्वर + FastCGI समाधान के साथ जा रहा Nginx + FastCGI के साथ जाना होगा। मैंने बेंचमार्क चलाए हैं और सभी कोड पढ़े हैं, और Nginx लोड के तहत तेजी से/अधिक स्थिर परिमाण का क्रम है - यह बहुत अच्छा है।
लेकिन, यह नहीं है कि आपने जो पूछा है। अनिवार्य रूप से, मैं कहूंगा कि आपके द्वारा सूचीबद्ध तीन विकल्पों में सुरक्षा/स्केलेबिलिटी बनाम स्पीड ट्रेडऑफ का स्पेक्ट्रम है, और आपको केवल यह तय करने की आवश्यकता है कि आप कहां बनना चाहते हैं।यदि आप अविश्वसनीय उपयोगकर्ताओं के साथ एक साझा होस्टिंग प्रदाता हैं जो ईश्वर-जानता है- क्या PHP ऐप्स आप सुरक्षा के प्रति अधिक दुबला होंगे, अगर यह अधिक विश्वसनीय उपयोगकर्ताओं के बीच साझा किया जाता है तो आप प्रदर्शन की ओर झुक सकते हैं। यहां मेरे विचार हैं:
CGI + suexec: यह साझा होस्टिंग वातावरण में उपयोगकर्ताओं/साइटों की संख्या के संदर्भ में आपके लिए सबसे सुरक्षित, और सबसे कुशल/स्केल करने योग्य है। प्रक्रियाएं उत्पन्न होती हैं और मेमोरी केवल अनुरोध के रूप में उपयोग की जाती है। बेशक, सीजीआई-स्पॉन्गिंग व्यक्तिगत स्क्रिप्ट के निष्पादन समय के लिए सबसे धीमी गति से बनाता है। कितना धीमा? खैर आपको बेंचमार्क करना होगा, लेकिन आम तौर पर यदि लोग लंबे समय से चल रहे ऐप्स चला रहे हैं (यानी वर्डप्रेस की तरह कुछ जो 0.25-0.5 सेकंड लेता है तो बस अपनी libs लोड करने और प्रत्येक अनुरोध पर आरंभ करने के लिए), तो CGI-spawning पेनल्टी सुंदर दिखने लगती है संदर्भ में नगण्य।
FastCGI: यहां मुद्दा यह है (और यह फर्क नहीं पड़ता अगर अपने वेब सर्वर अपाचे, Lighttpd या Nginx है), पता लगाना है, क्योंकि प्रत्येक प्रक्रिया स्मृति के बराबर खाती कितने FCGI बच्चे आप प्रत्येक उपयोगकर्ता चल छोड़ने प्रक्रियाओं PHP दुभाषिया का आकार (लिनक्स में यह सब निश्चित रूप से वायर्ड नहीं है, लेकिन मैं digress)। और, mod_php के विपरीत, इन प्रक्रियाओं को उपयोगकर्ताओं के बीच साझा नहीं किया जाता है, इसलिए आपको प्रति उपयोगकर्ता को सीमित करना होगा। मिसाल के तौर पर, ड्रीमहोस्ट अपने ग्राहकों के लिए 3 पर कैप्स करता है - अब, एक ऐसे ग्राहक के लिए जो एक वेबसाइट चला रहा है जो 2-5 से अधिक पृष्ठों के विस्फोटों को एक सेकंड में फट जाता है, यह वास्तव में बहुत बुरा है क्योंकि उन अनुरोधों को बस ढेर कर दिया गया है और साइट लटकती है। अब, मैं एक हल्के वेब सर्वर के साथ FastCGI तरह जब मैं एक समर्पित सर्वर/क्लस्टर पर क्षुधा चल रहा हूँ, जब मैं FCGI बच्चों की एप्लिकेशन सैकड़ों दे सकते हैं (बेशक वेबसर्वर privs के साथ सभी, ए ला अपाचे/prefork + mod_php) । लेकिन, मुझे नहीं लगता कि यह साझा होस्टिंग के लिए समझ में आता है जहां आपको प्रति उपयोगकर्ता एफसीजीआई बच्चों को आवंटित/कैप करना होता है।
अपाचे + mod_php: वेबसर्वर निजी के साथ चल रहे सब कुछ के बाद से कम सुरक्षित, लेकिन लाइव PHP प्रक्रियाओं का आपका पूल साझा किया जाता है, इसलिए यह प्रदर्शन अंत में सबसे अच्छा है। एक डेवलपर के दृष्टिकोण से, मैं php_safe मोड बर्दाश्त नहीं कर सकते, और एक सिस्टम प्रशासक के नजरिए से यह वास्तव में केवल सुरक्षा का भ्रम है (यह बेवकूफ उपयोगकर्ताओं के खिलाफ कम कर लेकिन एक वास्तविक हमले से रक्षा नहीं करता है) तो मैं वास्तव में नहीं बल्कि अगर सीजीआई होता मेरी अन्य विकल्प में saf_mode शामिल करना है।
ड्रीमहोस्ट एक हाइब्रिड का प्रकार करता है, तो वे डिफ़ॉल्ट रूप से अपाचे सीजीआई + सुएक्सैक करते हैं, लेकिन एफसीजीआई करने के लिए परिष्कृत चुने गए अपने अधिक उपयोगकर्ताओं का (छोटा) प्रतिशत, यदि वे चाहते हैं, तो टोपी और स्वयं के स्मृति उपयोग की निगरानी। यह डिफ़ॉल्ट रूप से एफसीजीआई को सक्षम करने के लिए मेमोरी संसाधनों का एक टन बचाता है।
यदि आप मानक वाणिज्यिक साझा होस्टिंग के बारे में बात कर रहे हैं तो एक और मुद्दा यह है कि, अपाचे पूरी तरह से फीचर्ड है, इसमें कुछ भी के लिए मॉड्यूल हैं (जिसमें mod_security जैसी चीज़ें शामिल हैं), और आपके उपयोगकर्ता इसे पसंद करेंगे क्योंकि उनके सभी। इनको कॉन्फ़िगरेशन आदि काम करेंगे - आप कुछ और के साथ समर्थन सिर दर्द में चलाने के लिए जब वे Drupal या वर्डप्रेस या जो कुछ भी स्थापित करने के लिए जाना (एक बहुत कोई समस्या नहीं रह अगर हम आंतरिक उपयोगकर्ताओं बात कर रहे हैं) होगा।
निजी तौर पर मैं सिर्फ यह आसान शुरू करने के लिए रखने और सीजीआई + सबसे अच्छा सुरक्षा और scaleability के लिए suexec के साथ जा रहा सिफारिश करेंगे। अपने उपयोगकर्ताओं FCGI या mod_php चाहते हैं और आप सुझाव/उन लोगों के साथ संचार के लिए खुला एक अच्छा चैनल है, तो वे इसके लिए पूछना होगा, लेकिन इनमें से कोई भी उनके लिए केवल सीमांत प्रदर्शन में सुधार के साथ आप के लिए एक बहुत बड़ा सिरदर्द है, इसलिए मेरी सुझाव शुरुआत में उनमें से कोई भी नहीं करना होगा, लेकिन अगर वे इसके लिए झगड़ा करते हैं तो उत्तरदायी रहें।
मैं मानक अपाचे + सीजीआई + सुएक्सैक की बजाय लाइटटैड + एफसीजीआई जैसे कुछ "रोचक" करने की इच्छा से सहानुभूति व्यक्त करता हूं, लेकिन मैं गहराई से मैं वास्तव में इसकी अनुशंसा नहीं कर सकता।
यदि आप एकाधिक सर्वर चला रहे हैं, तो आप दूसरों पर बिजली उपयोगकर्ताओं के लिए कुछ और कुछ और पर CGI डाल सकते हैं। और phpbb के पुराने-गधे संस्करणों जैसी चीजों के लिए सभी www dirs cron grep होना सुनिश्चित करें!