अपाचे के विकल्प


15

हमारे वर्तमान स्टाॅक अपाचे + टोमसैट + माईएसक्यूएल है, ProxyPassअजाक से लेकर अॅाॅम टॅाकाट तक के अनुरोधों का उपयोग करते हुए । हम एक ही साइटों पर वर्डप्रेस के लिए PHP भी चलाते हैं, और इसलिए काम करने वाली .htaccessफ़ाइलों की आवश्यकता होती है। एक कष्टप्रद समस्या के जवाब में (यह स्टैक ओवरफ्लो पृष्ठ देखें) , हम वैकल्पिक ढेर पर विचार कर रहे हैं। ध्यान दें कि हम आम तौर पर अपाचे को काफी पसंद करते हैं, लेकिन यह समस्या एक शो-स्टॉपर है: यदि हम इसे ठीक नहीं कर सकते हैं, तो हम अपाचे का उपयोग नहीं कर सकते हैं।

विकल्प में शामिल हैं:

  • अकेले टॉमकट
  • ग्लासफिश (जावा ऐप सर्वर, टॉमकैट से कांटा गया)
  • जेट्टी (जावा सर्वर)
  • राल
  • LightTPD (हल्के HTTP सर्वर)
  • Nginx (हल्के HTTP सर्वर)

जिस तरह से मैं इसे देखता हूं, समाधान दो शिविरों में आते हैं: शुद्ध जावा शिविर, जैसे ग्लासफिश; या हमारे वर्तमान अपाचे + तोमकैट जैसे विभाजन शिविर। हम शुद्ध जावा समाधान के विचार को पसंद करते हैं, क्योंकि कम चलने वाले हिस्सों का मतलब गलत होने के लिए कम होना चाहिए; लेकिन उनमें से कोई भी PHP, .htaccessफ़ाइलें, आदि का समर्थन करता है ?

सिद्धांत रूप में हम दूसरे तरीके से विभाजन कर सकते हैं - एक साधारण सामने का छोर है जो केवल उन बिट्स पर अपाचे को समीप करता है जिन्हें उन विशेषताओं की आवश्यकता होती है - लेकिन व्यवहार में यह अनुरोधों का 80% होगा।

लोग क्या विकल्प सुझाते हैं?


क्या आप अपनी "कष्टप्रद शो-स्टॉपर समस्या" को थोड़ा और विस्तृत करेंगे, या यह पूरी तरह अप्रासंगिक है?
चिह्नित करें

अधिक जानकारी के लिए StackOverflow पृष्ठ के लिंक का पालन करें। यह एक बग है जहां ग्राहकों को गलत प्रतिक्रिया दी जाती है - कभी-कभी HTML वाले के बजाय JS या CSS फाइलें प्राप्त करना, या पूरी तरह से गलत पृष्ठ। हमने अपाचे और टॉमकैट के भीतर हर चीज की बहुत कोशिश की है जिसके बारे में हम सोच सकते हैं।
मार्कस

जवाबों:


7

मुझे संदेह है कि आपकी समस्या एजेपी से संबंधित है।

मैं कुछ हफ्ते पहले मुख्य टॉमकैट डेवलपर्स में से एक के साथ एक कोर्स में था (वह इसे चला रहा था), उनकी सलाह एजेपी और मॉड-जेके आदि से बचने के लिए थी, और नियमित रूप से मॉड-प्रॉक्सी HTTP से चिपके रहते थे।

कारण:

  1. यह अब तक का सबसे परिपक्व और स्थिर टॉम्केट कनेक्टर है।
  2. न तो AJP कार्यान्वयन लगातार विकसित किया गया है; दोनों परियोजनाओं को थोड़ा रुकना / शुरू करना पड़ा है।
  3. NBIO इस स्थिति में अवरुद्ध-आईओ पर किसी भी वास्तविक विश्व प्रदर्शन लाभ का परिणाम नहीं देता है।

मेरी सलाह, अपने वर्तमान सेटअप के साथ नियमित रूप से प्रॉक्सी प्रॉक्सी HTTP का उपयोग करने का प्रयास करें। यह आपके लिए कम से कम परिवर्तन है और यह आपको सबसे व्यापक रूप से उपयोग किए जाने वाले और स्थिर टॉमकट तैनाती वास्तुकला पर ले जाएगा।

/ धनी


मुझे लगता है कि मैं इसे दे सकता हूं। क्या आपके पास प्रदर्शन अंतर पर कोई हार्ड नंबर है?
माक्र्स डाउन

मैं नियमित मॉड-प्रॉक्सी का उपयोग कैसे कर सकता हूं और अभी भी टॉमकैट के माध्यम से आने वाले सही होस्ट नाम प्राप्त कर सकता हूं? मुझे पूरा यकीन है कि वे इस समय लोकलहोस्ट के रूप में पुनः प्राप्त हो रहे हैं।
मार्कस डाउनिंग

2
ProxyPreserveHost पर शायद वही है जो आप खोज रहे हैं। httpd.apache.org/docs/2.2/mod/mod_proxy.html#proxypreservehost
स्टीफन वीस

5

मेरा वर्तमान पसंदीदा स्टैक अपाचे के प्रतिस्थापन के रूप में नेग्नेक्स का उपयोग करना है। जहां भी आवश्यक हो, PHP की आवश्यकता में php-fpm भरता है। इस तरह के एक सेटअप ने रेल, मैगनेटो और सुगरसीआरएम जैसे ऐप को तैनात करने के लिए अच्छी तरह से काम किया है।


4

ग्लासफिश टॉमकैट की तुलना में अधिक स्केलेबल होगा क्योंकि यह ग्रिजली (एनआईओ आधारित) का उपयोग करता है। जावा की आवश्यकता के कारण आपके पास Tomcat, Jetty, या Glassfish की भिन्नता के अलावा कई विकल्प नहीं हैं। PHP को Quercus का उपयोग करके चलाया जा सकता है , लेकिन यह सिर्फ Nginx का उपयोग करके इसे तैनात करना बेहतर हो सकता है।


2

जावा पर PHP के कार्यान्वयन हैं, जिसे मैं जानता हूं (लेकिन इसका उपयोग नहीं किया गया है) यह एक हैग्लासफिश (वर्डप्रेस सहित) पर इसे कैसे स्थापित किया जाए, इस पर एक ब्लॉग पोस्ट है , लेकिन मुझे लगता है कि टॉमकैट पर इंस्टॉलेशन समान है। .Htaccess के बारे में, आपने यह नहीं लिखा है कि आपके पास वास्तव में क्या है, लेकिन अगर यह URL राईटराइटिंग के लिए है तो UrlRewriteFilter है जो समान शब्दार्थ के साथ समान कार्य करता है।


.Htaccess फाइलें ज्यादातर वर्डप्रेस द्वारा जेनरेट की जाती हैं, इसलिए उनमें कुछ सरल रीवेरिट्यूल्स होते हैं
मार्कस डाउनिंग

मुझे लगता है कि PHP उनका समर्थन नहीं करेगा, लेकिन यह एक ऐसी प्रक्रिया के लिए कठिन नहीं होना चाहिए जो उन्हें पढ़ता है और फ़िल्टर करने के लिए परिभाषाओं को पारित करता है।
डेविड राबिनोविट 20

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.