क्या कोई हल्का वेबसर्वर है जो डायनामिक कंटेंट सर्व करेगा?


21

मैं एक Nagios सर्वर के साथ एक छवि बना रहा हूँ। रास्पबेरी पाई की समस्याओं में से एक यह है कि मेमोरी रास्पबेरी पाई पर काफी छोटी है। तो मैं मानक एक के बजाय php-apc पर आधारित एक हल्के वजन इंटरफेस का उपयोग करूंगा।

मैं सोच रहा था कि हल्के वेबसर्वर का उपयोग करने की क्या सिफारिश की जाती है?

मैं एक न्यूनतम वेबसर्वर पर विचार कर रहा था जो php कर सकता है और SSL प्रदान कर सकता है। मैं Apache2 या Nginx के बारे में सोच रहा था। हालांकि मुझे लगता है कि अपाचे अभी भी Nginx को पछाड़ देगा क्योंकि सामग्री गतिशील है।


1
Nginx अपाचे को आसानी से पछाड़ देगा।
एलेक्स चेम्बरलेन

@AlexChamberlain स्थिर सामग्री पर करता है, लेकिन गतिशील पर नहीं।
लुकास कॉफ़मैन

5
दावा। यह निर्भर करता है कि आपको प्रदर्शन से क्या मतलब है। Nginx कम मेमोरी, लीक कम और सर्व (स्टैटिक) फाइल्स को जल्दी इस्तेमाल करेगा। मेरे (सीमित, लेकिन तकनीकी) अनुभव में, अपाचे की तुलना में गतिशील सामग्री को त्वरित या तेज के रूप में परोसा जाता है। Nginx की मेमोरी प्रोफाइल को देखते हुए, यह एक रास्पबेरी पाई पर बेहतर प्रदर्शन करेगा। अपाचे का लाभ - हालांकि यहां नहीं है - क्या यह अधिक स्थिर है और अधिक अनुभवी तकनीशियन हैं।
एलेक्स चेम्बरलेन

मैं 256 एमबी में भी अपाचे पर विचार नहीं करूंगा, जब तक कि आपके पास बहुत जटिल कॉन्फिग नहीं है कि नगनेक्स या लाइटटैप का प्रबंधन नहीं कर सकता है
जॉन ला रोय

जवाबों:


17

यहां असली सवाल यह है कि "क्या आपको अपाचे द्वारा प्रदान की जाने वाली सभी विशेषताओं की आवश्यकता है?" (या अधिक महत्वपूर्ण बात, "क्या आप इन सुविधाओं के लिए मेमोरी का उपयोग करने के लिए तैयार हैं?") - आप अपने नागोइज़ वेब इंटरफ़ेस (या एक ber-स्ट्राइप्ड अपाचे) को चलाने के लिए एक बहुत ही आकर्षक अपाचे + mod_perl या mod_php को कस्टम-कंपाइल कर सकते हैं। बस पर्ल सीजीआई चलाता है), लेकिन यहां तक ​​कि एक न्यूनतर रूप में भी अपाचे शायद एक ही काम करने के लिए नग्नेक्स की तुलना में अधिक मेमोरी लेगा - यह सिर्फ छोटा होने के लिए नहीं बनाया गया था।

यह सुनिश्चित करने के लिए कि आप बेक-ऑफ करना चाहते हैं (nginx और Apache दोनों को संकलित करें और देखें कि कौन कम RAM खाता है), लेकिन "सामान्य" सर्वर पर मेरा अनुभव मुझे बताता है कि nginx शायद कम मेमोरी के लिए बेहतर विकल्प है। कॉन्फ़िगरेशन: आप अपाचे के लचीलेपन में से कुछ को छोड़ देते हैं, लेकिन अगर आपको किसी भी तरह की आवश्यकता नहीं है (और अधिकांश साइटें नहीं हैं ) तो आप कभी भी अंतर नहीं देखेंगे।


प्रदर्शन (समय) के अनुसार मुझे संदेह है कि आप अपने वेब सर्वर द्वारा सीमित होंगे - सभी कंट्रोल्ड बेंचमार्क एक तरफ, यदि आप पर्याप्त मात्रा में कर रहे हैं जहां सर्वर इंजन का प्रदर्शन पेजों को सौंप रहा है तो यह महत्वपूर्ण है कि आप संभवतः जा रहे हैं अपने रास्पबेरी पाई पकाना (और वास्तव में, कितने लोग एक बार में आपके निगरानी डेटा को देखने जा रहे हैं? :-)
यह बहुत अधिक स्वयंसिद्ध है कि आप अंतरिक्ष या समय के लिए एक प्रणाली को अनुकूलित कर सकते हैं, लेकिन दोनों कभी नहीं - और रास्पबेरी पाई स्थान पर संभवतः आपके सीमित अवरोध हैं।


मुझे संदेह है कि अपाचे इन दिनों नग्नेक्स की तुलना में अधिक शक्तिशाली है।
एलेक्स चेम्बरलेन

@AlexChamberlain यदि आप मेरी पोस्ट को ध्यान से पढ़ेंगे तो आप ध्यान देंगे कि मैंने कभी भी इस शब्द का इस्तेमाल नहीं किया powerful(क्योंकि इसका अपरिभाषित शब्द है)। मैंने कहा flexible(एक आवश्यकता को पूरा करने के लिए नंगे हड्डियों के कोर सर्वर को कितने तरीकों से संदर्भित किया जा सकता है)। यह या तो सर्वर पर बुरी तरह से प्रतिबिंबित करने के लिए है नहीं: दोनों कोड के उत्कृष्ट टुकड़े हैं, लेकिन वे है बेहद अलग डिजाइन लक्ष्यों। अपाचे को सभी लोगों के लिए सभी चीजों के लिए डिज़ाइन किया गया है - एक ट्रक जिसमें आप अपना पूरा घर पैक कर सकते हैं। nginx को एक छोटी और तेज - एक स्पोर्ट्स कार के रूप में तैयार किया गया है, लेकिन आप पत्नी, बच्चों, ससुराल और परिवार के कुत्ते को अपने साथ नहीं ले जा सकते।
voretaq7

मुझे लगता है कि नग्नेक्स बढ़ रहा है ... यह अब कम से कम हैचबैक है और हर समय बढ़ रहा है। यह एक या दूसरे तरीके से सभी प्रमुख गतिशील भाषाओं का समर्थन कर सकता है, SSL का समर्थन करता है और SPDY वर्तमान में बीटा में है।
एलेक्स चैम्बरलेन

15

nginx

मेरे पास वेब सर्वर के रूप में नगीनक्स के साथ कुछ अच्छे अनुभव हैं । मैं इसे पाइथन में त्वरित अनुप्रयोग विकास के लिए बोतल या फ्लास्क जैसे हल्के wsgi ढांचे के साथ जोड़ूंगा

हालांकि यह 10 से अधिक या प्रति सेकंड अनुरोधों को संभालने की उम्मीद नहीं करता है :)

स्थापना

Nginx डेबियन / रास्पबियन और आर्क रिपॉजिटरी दोनों में है, इसलिए एक ही कमांड के साथ स्थापित किया जा सकता है।

मेहराब

sudo pacman -Sy nginx

Debian / Raspbian

sudo apt-get install nginx

विन्यास

पूरे वेब पर कॉन्फ़िगरेशन के बहुत सारे उदाहरण हैं और एक विस्तृत व्याख्या शायद इस प्रश्न के दायरे से परे है। Nginx Wiki पर बहुत सारे उदाहरण हैं और मेलिंग सूची बहुत सहायक है।

चूंकि आपने PHP का उल्लेख किया है, तो आपको यह जानने में बहुत रुचि होगी कि मानक /etc/nginx/nginx.confफ़ाइल में PHP उदाहरण है।


मुझे नग्नेक्स बहुत पसंद है। अपने मॉड्यूलर सिस्टम का उपयोग करके विस्तार करना बहुत आसान है।
एलेक्स चेम्बरलेन

1
हो सकता है कि मैंने आपके उत्तर को थोड़ा बढ़ाया हो, आशा है कि आपको कोई आपत्ति नहीं है?
एलेक्स चेम्बरलेन

13

lighttpd

एक कम निम्न-संसाधन वेब सर्वर लाइटटैप है , जो PHP और SSL दोनों का समर्थन करता है। यह एक रास्पबेरी पाई पर PHP के साथ काम करता प्रतीत होता है , और SecureHTTP का समर्थन करने के लिए lighttpd को कॉन्फ़िगर करना बहुत संभव है ।


lighttpd एक और अच्छा विकल्प है। नेगनेक्स की लोकप्रियता ने इसे कई स्थानों पर ग्रहण किया है लेकिन यह निश्चित रूप से एक सम्मानजनक (और छोटा) सर्वर है
voretaq7

lighttpd + php-fcgi कमाल कर सकता है।
ज़्लातको

1

Node.js

लाइट वेइट वेब सर्वर बनाने के लिए आप नोड.जेएस का उपयोग कर सकते हैं। नोड.जेएस ट्यूटोरियल साइट से निम्नलिखित उदाहरण देखें:

var http = require('http');
  http.createServer(function (req, res) {
      res.writeHead(200, {'Content-Type': 'text/plain'});
      res.write("Dynamic contents...");
      res.end('Hello World\n');
  }).listen(1337, "127.0.0.1");

console.log('Server running at http://127.0.0.1:1337/');

उपरोक्त कोड जावा स्क्रिप्ट है इसलिए आप जावा स्क्रिप्ट में अपने डायनामिक कोड जेनरेशन लॉजिक लिख सकते हैं और कुछ ही समय में इसका उपयोग शुरू कर सकते हैं।

आपको डाउनलोड करना होगा और नोड से लिंक करना होगा। लिंक: http: //nodejs.org/ विंडोज या जिस भी प्लेटफॉर्म का आप उपयोग करना चाहते हैं।

कमांड का उपयोग करके वेब सर्वर शुरू करें:

node hello.js

लेकिन क्या Node.js php बोलता है?
लुकास कॉफ़मैन

अन्य संदर्भों में Node.JS का उपयोग किया जाता है। यह एक अकेले खड़े सर्वर के रूप में अच्छी तरह से काम नहीं करता है क्योंकि सभी कोड C ++ है। परंतु! यह बहुत अच्छा है क्योंकि आप नोड का उपयोग कर सकते हैं प्रत्यक्ष रूप से GPIO और बाकी निम्न स्तर के हार्डवेयर का उपयोग नोड के लिए। विविधता के लिए '+1 का उपयोग करें। लेकिन आपको अभी भी सामग्री की सेवा करने के लिए Apache / lighttpd / iis जैसे फ्रंट एंड की आवश्यकता है
Piotr कुला

@LucasKauffman नहीं - यह वास्तव में एक वेब सर्वर नहीं है, बल्कि एक वेब अनुप्रयोग है।
एलेक्स चेम्बरलेन

1
स्टैक एक्सचेंज में आपका स्वागत है। अच्छा जवाब है, लेकिन मुझे डर है कि मैंने इसे अस्वीकार कर दिया है क्योंकि मुझे नहीं लगता कि यह सवाल हल करता है। ओपी चाहता था कि PHP और भविष्य के पाठक शायद एक ऐसा सर्वर चाहते हैं जो थोड़ा अधिक सक्षम हो।
एलेक्स चेम्बरलेन

1
मैं Nagios चला रहा हूं, अपना खुद का एप्लिकेशन नहीं विकसित कर रहा हूं: p
लुकास कॉफ़मैन

0

हो सकता है कि आप लो एंड बॉक्स पर कुछ अन्य लोगों ने क्या इस्तेमाल किया है, इस पर एक नज़र डाल सकते हैं ।

असल में, यह lighttpd + php-fcgi है। लाइटटैप वास्तव में हल्का है और php-fcgi को बस थोड़ी सी मेमोरी का उपयोग करने के लिए कॉन्फ़िगर किया जा सकता है। मैंने इसे 64 एमबी वीपीएस बॉक्स पर सेट किया है (नगिओस नहीं, लेकिन सीएमएस के हालांकि)।

इसके अलावा, मुझे नहीं पता कि अगर आपको कम मेमोरी का उपयोग करने के लिए MySQL को ऑप्टिमाइज़ करना भी हो, तो यह ठीक है

यह आपकी मदद कर सकता है, यह नहीं हो सकता है। मुझे अभी तक अपने रास्पि का उपयोग शुरू करना है :)


0

Mako Server और BarracudaDrive एक ही स्रोत से प्राप्त हुए हैं और ये दोनों सर्वर गतिशील रूप से उत्पन्न सामग्री (Lua स्क्रिप्टिंग भाषा का उपयोग करके) वितरित कर सकते हैं, Apache की तुलना में 70% तेजी से स्थैतिक सामग्री वितरित कर सकते हैं। बेंचमार्किंग के परिणाम यहाँ हैं: http://barracudadrive.com/blog/2013/03/Apache-Nginx-Lighttpd-Monkey-and-BarracudaDrive-Speed-Test

Mako सर्वर यहां पाया जा सकता है: http://makoserver.net/


0

मैं 512Mb रास्पबेरी पाई पर रूबी-आधारित pi.gadgetoid.com 24/7 को चलाने के लिए Nginx / पैसेंजर के संयोजन का उपयोग कर रहा हूं। यह पहले से उपयोग किए जा रहे थिन / अपाचे सेटअप को बहुत बेहतर बनाता है। यह एक उचित रूप से उच्च-यातायात, सार्वजनिक वेबसाइट है, हालांकि मैंने उस वॉल्यूम के अधिकांश से निपटने के लिए Cloudflare (मूल रूप से एक कैशिंग प्रॉक्सी) का उपयोग करके बहुत बड़ा धोखा दिया है।

मुझे पूरा यकीन है कि यह कॉन्फ़िगरेशन 256MB Pi पर भी आराम से बैठेगा, लेकिन मुझे पैसेंजर मॉड्यूल और Nginx को संकलित करने में परेशानी हुई; स्मृति सीमाओं में चल रहा है।

मुझे पता है कि यह एक PHP समाधान नहीं है, और मुझे संभावना है कि इस तरह के एक स्पर्शात्मक उत्तर का सुझाव देने के लिए मैं बहुत उत्साहित हो जाऊंगा; लेकिन अगर आप अपने ज्ञान की सीमा को आगे बढ़ाने के लिए पाई की तलाश कर रहे हैं, और कुछ आकस्मिक छेड़छाड़ के लिए ऐसा कर रहे हैं, तो मैं दृढ़ता से रूबी और सिनात्रा को देखने का सुझाव देता हूं। आपको कुछ हफ़्ते के भीतर PHP के लिए एक घृणास्पद घृणा होगी।

द्वारा और बड़े पैमाने पर आपको 256MB सर्वर पर PHP / Apache वेब स्टैक चलाने में बहुत परेशानी नहीं होगी। मैंने क्लाउड-आधारित होस्टिंग पर एक पेशेवर क्षमता में बहुत बड़ी साइटों के लिए यह किया है। यह तब होता है जब MySQL शामिल हो जाता है कि चीजें बदसूरत हो जाती हैं। 256MB पर पूर्ण LAMP स्टैक चलाना कम से कम कहने के लिए दर्दनाक है, लेकिन कम यातायात संस्करणों के लिए असंभव नहीं है।

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