एक प्राथमिक वेब सर्वर के रूप में nginx का उपयोग करने की डाउनसाइड्स?


12

मैंने अपाचे के साथ मिलकर काम करने वाले वेबसर्वर के रूप में nginx का उपयोग करने वाली लाखों वेबसाइटें देखी हैं। लेकिन मैंने बहुत कम सर्वरों को केवल अपने डिफ़ॉल्ट वेबसर्वर के रूप में नग्नेक्स चलाते देखा है। ऐसे विन्यास के मुख्य डाउनसाइड क्या हैं?

मैं कुछ देख सकता हूँ:

  • प्रति-डायरेक्टरी कॉन्फिग फाइलों का उपयोग करने में असमर्थता .htaccess इसलिए हर कॉन्फ़िगरेशन परिवर्तन मुख्य सर्वर कॉन्फिगर फ़ाइल में किया जाना चाहिए और सर्वर पुनः लोड करने की आवश्यकता होती है। लेकिन pecl htscanner उन्हें php सेटिंग्स के लिए क्षतिपूर्ति कर सकता है
  • Nginx के लिए mod_php की अनुपलब्धता, जिसे उदाहरण के लिए php-fpm द्वारा मुआवजा दिया जा सकता है।

अन्य क्या हैं? लोग अपाचे को क्यों नहीं छोड़ते हैं और नगनेक्स या किसी अन्य हल्के समाधान पर नहीं जाते हैं? हो सकता है, कुछ विशेष कारण हैं?

EDIT: यह प्रश्न मुख्य रूप से LAMP स्टैक के साथ काम करने के बारे में है।


1
माइंडशेयर, जड़ता, निवेश। सदा उसी तरह।
इग्नासियो वाज़केज़-अब्राम्स

एक नए सर्वर पर nginx को सेटअप करने के लिए किस निवेश की आवश्यकता है? यह फ्री ओपन सोर्स सॉफ्टवेयर है।
व्लादिस्लाव रास्ट्रुसनी

3
अनुसंधान, तैनाती, परीक्षण, आदि के लिए आवश्यक समय का निवेश
ThatGraemeGuy

अगर हम मात्रा के बारे में बात कर रहे हैं, तो IMHO सबसे बड़ा कारण अपाचे का उपयोग करके साझा किए गए मेजबानों की बड़ी संख्या है। एक साझा सेवा के रूप में nginx की स्थापना करना (जैसे कि cPanel, Plesk, आदि में) अभी भी अपाचे के साथ ऐसा करने में उतना आसान नहीं है, खासकर अंत-ईश उपयोगकर्ताओं के लिए। और मैं कई समर्पित सर्वरों को जानता हूं जो एक ही साइट चलाते हैं, और फिर भी आसानी, परिचितता और कम सेटअप लागत के कारण cPanel / Plesk / etc का उपयोग करते हैं।
हलाल Halzgür

जवाबों:


9

मेरे #nginx अनुभव से यह लगभग हमेशा अपाचे .htaccess फ़ाइलों के साथ परिचित होने के कारण और उस पर या इसके आधार पर अन्यथा खोना नहीं चाहता है। उदाहरण के लिए, साझा सर्वर होस्टिंग चलाने वाले लोग जो केवल स्थैतिक फ़ाइलों को लोड करना चाहते हैं और अपने उपयोगकर्ताओं के लिए अपाचे रखने के लिए अपाचे रखते हैं।

और मैं ईमानदारी से वास्तव में अपाचे के अलावा अन्य के लिए किसी भी अन्य कारणों के बारे में सोच भी नहीं सकता। अंत उपयोगकर्ताओं के लिए .htaccess रखने के अलावा।

संपादित करें: वास्तव में mod_php प्लस साझा किए गए मेजबानों के लिए phpsuexec अपाचे के साथ चिपके रहने का एक और कारण हो सकता है।


मेरे अनुभव से यह बहुत मुश्किल है कि ncxx के माध्यम से tomcat से अच्छा प्रदर्शन प्राप्त हो, क्योंकि apache2 का ajp- कार्यकर्ता उच्च दबाव में काफी तेज है। मुझे पता है कि nginx में एक प्रयोगात्मक ajp13 कार्यान्वयन है, लेकिन यह स्थिर और खराब दस्तावेज नहीं है।
पोस्का

1
यह बहुत संभव है। Nginx एक Fastcgi या HTTP 1.0 रिवर्स प्रॉक्सी के रूप में सबसे अच्छा काम करता है। मुझे पता है कि स्केगी, wsgi आदि के साथ बात करने के लिए 3 पार्टी मॉड्यूल हैं, लेकिन मैं यह नहीं कह सकता कि वे कितने स्थिर हैं, या यहां तक ​​कि वे कितने तेज हैं।
मार्टिन फेजर्डवाल्ड

BTW, mod_php suexec के साथ काम नहीं करता है। Suexec cgi अनुप्रयोगों के लिए है।
व्लादिस्लाव रास्ट्रुसनी

वैसे तुम वहाँ जाओ, कोई वास्तविक कारण नहीं। अब भी अपाचे को किसी भी लंबे समय के लिए याद रखें। : डी
मार्टिन फेजर्डवाल्ड

6

यदि आपके पास ऐसे लोगों का एक समूह है, जो अपाचे को अच्छी तरह से काम कर सकते हैं, तो एक नया ऐप और कॉन्फ़िगरेशन को पुनः प्राप्त करने के लिए परेशान क्यों करें, mod_rewrite नियमों को माइग्रेट करें, redo mod_perl / php / etc कॉन्फ़िगरेशन, पुनः परीक्षण, पुनः-तैनाती करें?

दोनों सॉफ्टवेयर स्टैक मुक्त हो सकते हैं लेकिन, "री-ट्रेन, री-डेवलप, री-टेस्ट" नहीं है, और यह समय है जब आप अपने उपयोगकर्ताओं को 1 की देखभाल करने के लिए जोड़ सकते हैं , बजाय कि छेड़छाड़ के।

1 मैं स्पष्ट रूप से व्यक्तिगत परियोजनाओं के बारे में बात नहीं कर रहा हूं।


2

मुझे नग्नेक्स पसंद है, लेकिन दो चीजें मुझे अपनी वेब साइटों के लिए उपयोग करने से रोकती हैं।

  • PHP-FPM को सेटअप करना कठिन है । मैं अभी तक नवीनतम PHP संस्करण के साथ ऐसा करने में सफल नहीं हुआ।

  • Nginx HTML5 Websockets के लिए समर्थन नहीं करता है, जो मैं इसमें निहित हूं।


1
क्या आप उन मुश्किलों का नाम बता सकते हैं जिन्हें आपने nginx और php-fpm के साथ अनुभव किया है? HTML5 WebSockets के बारे में, ऐसा लगता है कि अपाचे ने उन्हें अभी तक नहीं दिखाया है
व्लादिस्लाव रैस्ट्रोनी

मैं php-fpm मुद्दों को भी जानना चाहूंगा। यदि आप इसके बिना PHP को स्रोत से संकलित कर सकते हैं तो इसके साथ ही इसे करना बहुत सरल है।
मार्टिन फेजर्डवाल्ड

1
5.3 शाखा में पहले से ही यह अंदर है, इसलिए बस ./configure --enable-fpm और आप कर रहे हैं।
व्लादिस्लाव रैस्ट्रोसनी
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.