Nginx साझा होस्टिंग वर्डप्रेस
यह एक अतिथि पोस्ट लिखा ऑस्टिन W गनटर, WP इंजन के प्रबंधित वर्डप्रेस होस्टिंग मंच की ब्रांड एम्बेसडर है।
वर्डप्रेस के विकास शुरुआत के बाद से अपाचे से सम्बंधित मानते किया गया है। वर्डप्रेस अपाचे पर दिखाए जाने के लिए बनाया गया था। हाल ही में Nginx प्रमुखता से बढ़ी है सभी ज्ञात यातायात के 11.4% से यातायात सेवा करने के लिए।
Automattic Nginx को WordPress.com पर ले जाया, और WP इंजन की तरह वर्डप्रेस मेजबान कामयाब रहे, और ZippyKid रूप में अच्छी तरह प्रौद्योगिकी को अपनाया है। WordPress.com सार्वजनिक रूप से कहा गया है कि वे अनुरोध प्रति सेकंड लाखों की सेवा सर्वर के हजारों की है। मैं अपने दिन के सबसे खर्च जटिल सर्वर प्रौद्योगिकी के बारे में बात, लेकिन मैं नहीं क्यों Nginx अच्छा है, क्यों लोगों को यह प्रयोग कर रहे हैं, और क्या समझौतों से यह और अपाचे के बीच कर रहे हैं, बातचीत के मामले में एक अच्छा संसाधन वास्तव में समझाने के लिए मिला था,। इस पोस्ट में समझाने के लिए क्या Nginx एक उच्च स्तर पर है, नहीं प्रदान करते हैं एक "कैसे" लोग चाहते हो सकता है के लिए यह खुद को स्थापित करने के लिए करना है।
सबसे पहले, Nginx और अपाचे बराबर नहीं हैं, लेकिन क्या उन्हें अलग बनाता है? जैसे कि जब एक पोस्ट HackerNews या रेडिट के पहले पन्ने बनाता समवर्ती अनुरोधों का एक हमले की सेवा के रूप में - क्या Nginx उच्च निष्पादन वेब होस्टिंग कार्यों को संभालने के लिए उपयुक्त बनाता है? क्या आप अभी भी के लिए अपाचे की ज़रूरत है?
CK10 समस्या
Nginx भाग में विकसित किया गया था,, C10k समस्या को हल करने के लिए, या वेब सर्वर सॉफ्टवेयर के अनुकूलन के एक ही समय में ग्राहकों की एक बड़ी संख्या को संभालने के लिए। C10k समवर्ती दस हजार कनेक्शन के लिए खड़ा है। जब एक ब्लॉग पोस्ट HackerNews या रेडिट के पहले पन्ने मारता है, हजारों दर्शकों को अपनी साइट पर एक ही बार में पहुंच सकते हैं। Nginx घटना-आधारित होते, और समवर्ती अनुरोधों का जवाब देने में शानदार है।
समवर्ती कनेक्शन
Nginx कम CPU उपयोग के साथ समवर्ती कनेक्शन के हजारों को संभालने के लिए बनाया गया है। यह एक गैर-अवरुद्ध घटना पर ही आधारित वेब सर्वर, एक भी प्रक्रिया (या प्रक्रियाओं की एक छोटी संख्या) का उपयोग कर evented आई / ओ का उपयोग कर कनेक्शन को संभालने के लिए। अपाचे कई बहु प्रसंस्करण मॉड्यूल ( "एम पी एम") है, लेकिन अधिकतर Linux सिस्टम के लिए, अपाचे के डिफ़ॉल्ट "prefork" एम पी एम है। अपाचे "कार्यकर्ता" एम पी एम का उपयोग कर जब तक आप PHP का उपयोग कर रहे हैं की सिफारिश की - के बाद से पीएचपी सुरक्षित थ्रेड नहीं है। कोड का एक टुकड़ा है, तो यह केवल एक तरह से गारंटी देता है कि एक ही समय में एक से अधिक थ्रेड द्वारा सुरक्षित निष्पादन में साझी डाटा संरचनाओं manipulates धागा सुरक्षित है। Nginx की घटना पर आधारित "डिजाइन इसे जल्दी डेटा दिखाने के लिए, और कई समवर्ती कनेक्शन के साथ की अनुमति देता है, लेकिन हम अपाचे के पीएचपी प्रक्रिया की क्षमता का त्याग
साथ ही, अपाचे कितने धागे इसे चलाने के लिए सीपीयू है, और अपाचे प्रक्रियाओं महंगी हैं द्वारा सीमित है। प्रक्रिया के अनुसार 50-300MB में समवर्ती प्रक्रियाओं के बाद, डिफ़ॉल्ट 256 है, अपाचे के प्रदर्शन कम हो जाएगा। Nginx, दूसरे हाथ पर, स्मृति के 2MB के बारे में उपयोग करते हुए, कभी नहीं नए सूत्र या प्रक्रियाओं को उत्पन्न करने 10,000+ समवर्ती कनेक्शन संभाल कर सकते हैं। यही कारण है कि मूर्खता से स्केलेबल है।
स्टेटिक आस्तियों
Nginx स्टैटिक्स की सेवा का राजा है। कहाँ अपाचे स्मृति में mod_php लोड करने के लिए एक छवि अनुरोध सेवा करने के लिए है, Nginx सीधे अपने प्रज्वलन तेजी आई / ओ के साथ ब्राउज़र के लिए छवियों, जावास्क्रिप्ट, सीएसएस, एचटीएमएल, आदि की तरह स्टैटिक्स वितरित करेंगे। वैचारिक रूप से, Nginx बस डेटा स्थानांतरित करता है, यह कभी नहीं प्रसंस्करण, जिसके कारण यह इतना कुछ संसाधनों की आवश्यकता है चलाने के लिए।
तो कैसे हम Nginx साथ वर्डप्रेस पीएचपी का अनुवाद करते हैं? अपाचे अक्सर अपनी प्रक्रियाओं के साथ पीएचपी बंडल, लेकिन पीएचपी कार्रवाई करने के लिए, Nginx FastCGI, पीएचपी-एफ पी एम, या HTTP की तरह एक बाहरी प्रक्रिया के साथ रखा जाना चाहिए। यह काफी आसानी से किया जा सकता है। इतना ही नहीं, अलग प्रक्रियाओं द्वारा हम वास्तव में Nginx के साथ और अधिक गति लाभ देख सकते हैं। यह अनुरोध प्रेषित बाह्य पीएचपी कार्रवाई करने के लिए, और प्रतिक्रिया वापस ब्राउज़र को भेज देंगे।
साथ ही, ये विभिन्न सर्वरों पर विभिन्न अनुरोधों को संसाधित करने विन्यस्त किया जा सकता। क्योंकि यह मतलब है कि वे जो जो सर्वर, अनुरोध बैकलॉग को कम करने के लिए जाने का अनुरोध करता है निर्दिष्ट कर सकते हैं यह, वेब होस्ट या सिस्टम प्रशासक के लिये एक बड़ी बात है। इसका यह भी मतलब है कि सर्वर और एप्लिकेशन प्रक्रिया अलग से पुन: प्रारंभ कर सकते हैं।
प्रॉक्सी कैशिंग
WordPress.com Nginx के proxy_cache करने की क्षमता का गहन उपयोग करता। आप बैकएंड के लिए अनुरोध भेजने के लिए Nginx कार्यक्रम कर सकते हैं, लेकिन रास्ते में वापस बाहर यह "एक्स सेकंड के लिए" डिस्क पर अनुरोध पकड़ ताकि अगली अनुरोध प्रत्येक नए उपयोगकर्ता के लिए अपाचे के लिए वापस जाने के बिना पेज की सेवा कर सकते है।
3 पार्टी मॉड्यूल
Nginx प्रमुखता प्राप्त कर रहा है, हम देख रहे हैं के साथ डेवलपर्स शांत मॉड्यूल हम Nginx में संकलित कर सकते हैं कि कार्यक्षमता हम की जरूरत हो सकती जोड़ने बनाने के लिए शुरू करते हैं। किसी भी ओपन-सोर्स प्रोजेक्ट के रूप में, इन मॉड्यूल की संभावना वेब सर्वर पर नवीनता का एक प्रमुख स्रोत हो जाएगा।
वे कुछ ऐसे विशाल लाभ हैं। लेकिन यह ध्यान रखें कि Nginx साझा होस्टिंग समाधान के लिए एक उपयुक्त समाधान नहीं है महत्वपूर्ण है, और यह निश्चित रूप से हर रोज वर्डप्रेस ब्लॉग है कि यातायात के उच्च स्तर पर नहीं दिख रहा है के लिए आवश्यक नहीं है। कम से कम यातायात के तहत, आगंतुकों अपाचे और Nginx के बीच किसी भी गति अंतर नोटिस नहीं हो सकता। आप Nginx के बंद वर्डप्रेस सेवा करने के लिए यदि आप किसी दिन यातायात spikes अनुभव करते हैं, और उप 1.5seconds पर अपनी साइट को और लोड हो रहा है पृष्ठों रखना चाहते हैं की उम्मीद चाहते हैं। के तहत लोड Nginx की घटना आधारित प्रसंस्करण, क्षमता जल्दी से स्टैटिक्स सेवा करने के लिए, और proxy_cache अनुरोध यह सीपीयू की 2MB पर कनेक्शन की हजारों की सेवा करने की क्षमता दे। यही कारण है कि एक ही यातायात harakiri प्रतिबद्ध करने के लिए अपाचे का कारण होगा।
क्योंकि Nginx तो स्केलेबल है, Automattic, WordPress.com, WP इंजन या ZippyKid की तरह और प्रबंधित वर्डप्रेस मेजबान प्रौद्योगिकी को अपनाया है, आम तौर पर अपाचे के साथ पीएचपी सेवा करने के लिए, और यह प्रयोग कर रहे हैं डोमेन के हजारों के लिए व्यापक विस्तार योग्य होस्टिंग प्रदान करने के लिए। अपाचे अभी भी जटिल अनुरोधों को संसाधित करने देता है, लेकिन यह Nginx की क्षमता के साथ नहीं रख सकते हैं।
क्या आपकी साइट पर चल रहा है? आप वर्डप्रेस की सेवा के लिए Nginx स्थापित करने पर विचार किया है? मुझे टिप्पणियों तुम क्या प्रयोग कर रहे हैं में बताएं।
मेरे मेजबान ईमेल प्राप्त करना कह मैं अपने रैम आवंटन से अधिक चला गया था थक बढ़ रहा है के बाद कुछ सप्ताह पहले Nginx पर स्विच किया गया। मेरी साइट कॉन्फ़िगर करने के प्रयास में घंटों खर्च अपाचे पर भारी यातायात लेकिन कैशिंग का कोई राशि से निपटने के लिए .htaccess तोड़ मरोड़ एक नई पहल की। Nginx पर स्विच किया गया है, एक बुनियादी .conf बनाया है और वापस देखा नहीं किया है। RAM उपयोग नियंत्रण में है और साइट को और अधिक उत्तरदायी है। प्रतिभाशाली।
मैं Nginx करने के लिए एक एक साल पहले बंद कर। मैं बहुत परियोजना में interessted किया गया था और Lighttpd पसंद नहीं आया।
पता चला है, Nginx सिर्फ fantiastic है, और निश्चित रूप से जाने के लिए रास्ता है।
अपाचे के साथ रूटिंग अनुरोध आजकल मेरे लिए थोड़े बेवकूफ feeld ...
समझा। तो यही कारण है कि वहाँ कुछ साइटों (अच्छी तरह से वास्तव में उनमें से टन) हैं, भले ही वे अपाचे पर चल रहे हैं, अभी भी जो लोग NGIX साथ कर रहे हैं की तुलना में बेहतर प्रदर्शन करती है।
ओह, वैसे, LiteSpeed के बारे में क्या? LiteSpeed पर चल वर्डप्रेस का कोई भी टिप्पणी? LiteSpeed दावा है कि वे अपाचे की तुलना में तेजी 6x कर रहे हैं
मैं Nginx अपाचे से, नहीं वर्डप्रेस वेबसाइट में बेहतर प्रदर्शन नहीं लगता। PHP और Apache भाइयों की तरह कर रहे हैं और कई लिपियों पहली पसंद के रूप में वेब सर्वर अपाचे के साथ लिखा जाता है, समस्या सिर्फ जबकि Nginx 'आधुनिक' है और वास्तव में अच्छी तरह यातायात फट संभालती है, अपाचे बनी हुई है 'प्राचीन' और हमेशा सभी दौर प्रदर्शन पर लक्षित है। यातायात फट के मुद्दे लोड संतुलन के साथ संभाला जा सकता है। मैं अपाचे की तरह की है क्योंकि यह सभी दौर प्रदर्शन है। वर्डप्रेस निर्भीकता कहने के लिए वे Nginx के खिलाफ कुछ भी नहीं है लेकिन अपाचे अभी भी पहली पसंद बनी हुई है कि असफल नहीं करता है - codex.wordpress.org/Nginx
आप अगर Nginx वास्तव में अच्छा है या अपने वातावरण में खराब प्रदर्शन करने को देखने के लिए किसी भी प्रदर्शन बेंच मार्किंग चलाने है? यह एक बात यह लगता है और यह महसूस करने के लिए है, लेकिन यह यह परीक्षण करने के लिए एक और बात है।
हम Nginx WPForce.com पर यहाँ का उपयोग करें और यह वास्तव में अच्छी तरह से बहुत बेहतर की तुलना में अपाचे कभी हमारे लिए किया था चलाता है,।
WordPress.com इंटरनेट पर वर्डप्रेस का सबसे बड़ा एकल स्थापना की जा रही है - इसी तरह, दोनों WordPress.org और WordPress.com Nginx पर चलाते हैं।
तो मैं हाल ही में एक से दूसरे मेजबान से चले गए। पिछला मेजबान अपाचे पर अपने WP साइट चल रहा था। जब मैं नया मेजबान पर स्थापित, डिफ़ॉल्ट (मुझे लगता है और nginx) था फास्ट CGI और नोटिस या मतभेद पर ध्यान देना नहीं था।
सब कुछ ठीक है, और तेज़, नया VPS पर चल रहा था, लेकिन कुछ दिनों के बाद मैं "502 खराब गेटवे त्रुटि - nginx" का सामना करने के लिए शुरू किया त्रुटियों। यह तब होता है जब मैं एक ब्लॉग पोस्ट पोस्टिंग रहा हूँ, और पर क्लिक करें "पूर्वावलोकन।" मैं अभी भी उस पोस्ट प्रकाशित कर सकते हैं, लेकिन जब मैं पेज टूट के टुकड़े के बहुत सारे (विभिन्न php कॉल, आदि) देखते हैं, लेकिन पद नहीं है और चातुर्य में।
मैं पिछले एक बात करने के लिए वापस साइट बहाल कर सकते हैं और है कि कुछ पदों (या दिन), और फिर समस्या रिटर्न के लिए समस्या ठीक होती है।
मैं 3 नए प्लगइन्स जब पलायन (सुरक्षा, adrotate और सुपर कैश) जोड़ने के लिए किया था। मुझे लगता है कि यदि समस्या है देखने के लिए सुरक्षा और adrotate प्लगइन्स को दूर करने की कोशिश की है, और समस्या बनी रहती है। केवल एक ही मैं नहीं हटाया है सुपर कैश है।
क्या इन 502 खराब गेटवे त्रुटियों कारण हो सकता है पर किसी भी विचार? कभी यह था जब अपाचे पर चल रहा है।