क्या एक पीसी एक वेब सर्वर होने में सक्षम बनाता है और क्या यह असमर्थ बनाता है?


43

मेरे पास एक वेब सर्वर के रूप में कंप्यूटर का उपयोग करने के बारे में एक प्रश्न है। एक निश्चित कंप्यूटर एक वेब सर्वर क्यों हो सकता है? वेब सर्वर बनने के लिए कौन सी विशेषताएँ इसे सक्षम बनाती हैं? क्या कोई ऐसा मामला है जहां एक कंप्यूटर वेब सर्वर के रूप में कार्य करने में असमर्थ है?


एक नेटवर्क कार्ड।
el.pescado

1
सबसे छोटा जो मैंने देखा है वह एप्ज़र द्वारा बनाया गया एक वाईफाई एसडी कार्ड है। इसमें 4MB RAM और रन लाइनक्स है और यह वेब अनुरोधों का जवाब दे सकता है और छवियों को प्रसारित कर सकता है जब यह एक कैमरे में होता है।
user3528438

@ el.pescado जब तक क्लाइंट एक ही होस्ट पर नहीं है।
दिमित्री ग्रिगोरीव

जवाबों:


96

बहुत अधिक किसी भी कंप्यूटर का उपयोग एक [वेब] सर्वर के रूप में किया जा सकता है, बशर्ते वह किसी नेटवर्क से जुड़ सकता है, और वेब सर्वर सॉफ्टवेयर चला सकता है। एक वेब सर्वर के रूप में काफी सरल हो सकता है, और वहाँ स्वतंत्र और खुले स्रोत वेब सर्वर हैं, व्यवहार में, कोई भी उपकरण एक वेब सर्वर के रूप में कार्य कर सकता है।

बड़ी समस्या नेटवर्किंग पक्ष है। सिस्टम में सर्वर के रूप में कार्य करने के लिए, अन्य मशीनों को इसे एक्सेस करने में सक्षम होना चाहिए। यदि यह सिर्फ एक लैन में उपयोग के लिए है, तो कोई चिंता नहीं है; हालाँकि, यदि यह व्यापक इंटरनेट से उपयोग के लिए है, तो डेटा को इसे रूट करने की आवश्यकता है। इसके लिए सर्वर से जुड़ा एक स्थिर IP पता (या एक राउटर के माध्यम से पोर्ट), या एक बाहरी सेवा जो एक बदलते गतिशील IP पते पर डोमेन नाम / उपडोमेन मैप कर सकती है, की आवश्यकता होती है।

(एफडब्ल्यूआईडब्ल्यू, आप $ 10 कंप्यूटर खरीद सकते हैं जो एक मूल वेब सर्वर के रूप में कार्य कर सकते हैं।)

बेशक, जबकि कोई भी उपकरण एक वेब सर्वर के रूप में कार्य कर सकता है, वेब साइटों की कार्यक्षमता बेहद भिन्न हो सकती है, और एक सस्ता डिवाइस (या धीमा कनेक्शन) विशिष्ट वेबसाइट के आधार पर मांगों के साथ नहीं रख सकता है।

मैं ध्यान देता हूं कि ऊपर दी गई हर चीज वेब सर्वर के बारे में बात करती है - लेकिन वही कहा जा सकता है जो किसी भी प्रकार के सर्वर के लिए बहुत ज्यादा है।


2
एक और समस्या यह है कि सस्ते उपकरण "वास्तविक" सर्वर के रूप में विश्वसनीय नहीं हो सकते हैं क्योंकि उनके घटकों को बहुत लंबे समय में चलाने के लिए प्रमाणित नहीं किया जाता है और उनकी मेमोरी में ईसीसी रैम की तरह बिट रोट को रोकने का कोई साधन नहीं है। मैंने अपने सहयोगियों को कई महीनों तक अपने कंप्यूटरों को छोड़ते और बीएसओडी
फुल्विक

11
हां और ना। Ive RAM के बिना बहुत सारे सिस्टम 24/7 चलाए जाते हैं, और अधिकांश घर / छोटे व्यवसाय राउटर - जो कि wenb सर्वर होते हैं और साथ ही bsod के बिना काफी मज़बूती से चलते हैं। बेशक, बीएसओडी समकक्ष विंडोज दुनिया के बाहर आम नहीं हैं।
दाविदगो

9
@davidgo Bugcheck त्रुटियाँ Windows दुनिया में तब तक आम नहीं हैं, जब तक कि आपको हार्डवेयर या डॉगी ड्राइवर नहीं मिलें। जो किसी भी OS के लिए समान समस्याओं का कारण बनते हैं। विंडोज और लिनक्स दोनों पर वीडियो ड्राइवर संबंधित मुद्दों की संख्या की खोई हुई संख्या।
बॉब

7
@davidgo बीएसओडी केवल एक असफल-सुरक्षित है, अपने आप में कोई समस्या नहीं है। यह डरपोक कोड / डेटा भ्रष्टाचार और हार्डवेयर क्षति को रोकने के लिए एक अंतिम खाई का प्रयास है। किसी भी मामले में, इस तरह की बातों में वास्तविक सबूत पूरी तरह से बेकार है - एक बहुत ही उच्च संभावना है कि आप कभी भी इस के साथ एक दृश्य समस्या का सामना नहीं करेंगे, या आप इसे गलत तरीके से वितरित करेंगे, और इसमें पर्यावरणीय कारकों की एक बड़ी मात्रा है जो इसे बनाती है अधिक या कम संभावना (तापमान, अक्षांश, ईएम शोर, इलेक्ट्रिक नेटवर्क गुणवत्ता, सिस्टम लोड, किसी दिए गए घटक की विश्वसनीयता)। ईसीसी रैम की लागत और मूल्य और ऐसा एक व्यावसायिक निर्णय है।
लुआॅन

15
आपके पास शायद घर पर पहले से ही कुछ वेब सर्वर हैं: आपका राउटर / एक्सेस प्वाइंट, आपका प्रिंटर, और अन्य सभी प्रकार के कॉन्फ़िगर करने योग्य होम ऑटोमेशन गैजेट्स जैसे स्मार्ट मीटर, आईपी कैमरा, वीओआईपी टेलीफोन, प्रोग्राम योग्य थर्मोस्टेट, आपका टीवी। छोटे लोग आपको इस बात का अंदाजा देते हैं कि हार्डवेयर की कितनी जरूरत है। एक अन्य टिप्पणी: वेब सर्वर के लिए नेटवर्किंग एक सख्त आवश्यकता नहीं है - यह सही अर्थ में एक सर्वर हो सकता है जो केवल एक ही मशीन पर उपयोगकर्ताओं को पेज प्रदान करता है ।
पीटर - मोनिका

25

यह बिल्कुल भी मुश्किल नहीं है। यह केवल "वेब सर्वर" की आपकी परिभाषा पर निर्भर करता है।

एक माइक्रोकंट्रोलर के रूप में सरल उपकरणों पर "वेब सर्वर" चलाना पूरी तरह से संभव है।

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

यह इनमें से एक के बराबर वेब सर्वर होगा ।

यहाँ छवि विवरण दर्ज करें

क्लाइंट के लिए नेटवर्क कनेक्टिविटी जोड़ना (ईथरनेट अच्छा है, लेकिन ऐसा कोई तकनीकी कारण नहीं है जिसे आप वाईफाई पर चलने वाले वेब सर्वर से कनेक्ट नहीं कर सकते हैं) और क्लाइंट से रूट करने में सक्षम होना बेहतर होगा।

$ 5 ESP8266 - वाईफ़ाई के साथ एक सस्ता, न्यूनतम माइक्रोकंट्रोलर, जो बहुत कुछ संभाल सकता है, और शायद बुनियादी गतिशील सामग्री भी

मैं पायथन का उपयोग करके त्वरित फ़ाइल साझा करने के लिए कुछ ऐसा उपयोग करता हूं। यह अभी भी पूरी तरह से एक माइक्रोकंट्रोलर पर कुछ लिखना या फोन पर चलाना संभव है।

स्थैतिक सामग्री उबाऊ है। गतिशील भाषाएं जोड़ें और आपको भारी वजन प्रणाली के बारे में सोचना शुरू करना होगा। लिनक्स या विंडोज चलाने वाले सामान अच्छे हैं।

इस बिंदु पर, आप उपभोक्ता राउटर, यूआई में वेब पेजों का उपयोग करने वाले छोटे अनुप्रयोगों और उस सब पर बात कर रहे हैं।

एक वेब सर्वर भी एक जटिल समस्या नहीं है और इसे बैश की पांच पंक्तियों में लिखा जा सकता है और लिनक्स पर चलाया जा सकता है । अब कयामत ... लेकिन कयामत को चलाने वाला कोई भी सिस्टम वेब सर्वर चला सकता है।

एक अच्छा वेब सर्वर सेटअप एक दिए गए भार को संभालने में सक्षम है, कुछ हद तक पेचीदा है।


11
यह भी संभव है कि कुछ टीटीएल चिप्स को एक साथ मिलाया जाए और एक वेबसर्वर चलाया जाए। विवरण के लिए इस वेबपेज को देखें
जोसेफ

7
यह मोटे तौर पर कह रहा है "इसके कुछ स्टील को एक साथ बांधना और एफिल टॉवर का निर्माण भी संभव है। यह इतना अच्छा है
जर्नीमैन गीक

1
मनोरंजक रूप से, आपका 'पॉइंटलेस' वेबसर्वर वास्तव में कुछ उत्पादों के लिए काम करने के लिए इस्तेमाल की जाने वाली मदद :) - मैं उदाहरणों को याद नहीं रख सकता, लेकिन कम से कम एक मामला था जहां मदद एक सर्वर पर चल रही थी (न केवल एक html पृष्ठ प्रदान किया गया था एक ब्राउज़र द्वारा) और बाद की समस्याओं को प्रस्तुत किया (मेरे फ़ायरवॉल चालू होने पर मेरे मदद पृष्ठ लोड नहीं होते!)।
djsmiley2k - CoW

5
@ djsmiley2k ग्रहण स्थानीय वेबसर्वर का उपयोग करता है। क्योंकि जावा।
user253751

2
एक raspi 2000 के वर्ष में 99.9% वाणिज्यिक वेब सर्वरों की संभावना से अधिक संचालित है। तब लोग पहले से ही भारी गतिशील सामान कर रहे थे।
रैकैंडबॉमनमैन

11

न्यूनतम

वस्तुतः, कोई भी कंप्यूटर एक वेब सर्वर बन सकता है यदि उसके पास निम्न हो:

  • एक नेटवर्क कनेक्शन
  • एक बहुत ही सरल वेब सर्वर ऐप, जैसे

लेकिन क्या यह पर्याप्त होगा? अब, यह मुश्किल सवाल है।

इंट्रानेट परोसना

एक कंप्यूटर के लिए एक वेब सर्वर बनने के लिए जो एक पूरे समुदाय (जैसे स्कूल, कंपनी, संग्रहालय) में आधुनिक वेब पेज या वेब ऐप पेश करता है:

  • हार्डवेयर एक साथ कई कंप्यूटरों का जवाब देने में सक्षम है। हो सकता है कि एक पुराना कंप्यूटर लिनक्स या विंडोज एक्सपी चला रहा हो।
  • पर्याप्त बैंडविड्थ के साथ एक हाई-स्पीड नेटवर्क कनेक्शन, कहते हैं 1 Gbit / sec ईथरनेट या 802.11g वाई-फाई।
  • एक अच्छा वेब सर्वर ऐप, जैसे IIS , Apache , Nginx या अन्य । (हैरानी की बात है, ये तीनों स्वतंत्र हैं।)

लेकिन यह छोटे ऑपरेशन के लिए सिर्फ एक न्यूनतम था। जब आपका ऑपरेशन बड़ा हो जाता है (यानी आपको भारी ट्रैफ़िक मिलता है और स्टैटिक पेजों के बजाय जटिल वेब ऐप परोसते हैं), तो आपकी ज़रूरतें बढ़ती हैं। आपको अंततः आवश्यकता होगी:

  • सर्वर-क्लास हार्डवेयर जैसे रैक-माउंटेड सर्वर कई एक्सोन सीपीयू और सैकड़ों गीगाबाइट रैम के साथ
  • फाइबर ऑप्टिक नेटवर्क

संसार के बाहर सेवा करना

पूरी दुनिया की सेवा के लिए इंटरनेट के बुनियादी ढांचे का दोहन करने के लिए, आपको इसकी आवश्यकता होगी:

इनके बिना, आपके पास एक संभावित वेब सर्वर है।


._। मैं एक रस्‍सी को एक नंगे न्‍यूनतम और जानकी की तरह मानता हूं। यह भी कई चीजों को याद रखने लायक है कि यूआई के रूप में एक वेब पेज का उपयोग करें। आपके रूटर है लेकिन नहीं है , उदाहरण के लिए एक वेब सर्वर।
जर्नीमैन गीक

9
इन टिप्पणियों के साथ डायसाग्री - एक राउटर एक वेब सर्वर (साथ ही अन्य चीजें) है। टिप्पणियों के तर्क से, वेब सर्वर जैसी कोई चीज नहीं है क्योंकि ऐसी किसी भी प्रणाली में अन्य कार्यक्षमता है।
दाविगो १३'१

5
भारी सीपीयू और अन्य संसाधन की ज़रूरतें वेब एप्लिकेशन और गतिशील HTML पीढ़ी भाषाओं के बारे में बहुत अधिक हैं - उदाहरण के लिए PHP, एक आम लेकिन (खासकर अगर यह आमतौर पर जिस तरह से सेट अप होता है) ऐसी भाषा में उल्लिखित रूप से अक्षम है - वेब सेवारत के बारे में। 16 एमबी रैम के साथ 33MHz 80486 अगर किसी को परेशान करता है तो स्थैतिक पृष्ठों का एक बड़ा भार संभालने के लिए बनाया जा सकता है।
रैकैंडबॉमनमैन

@rackandboneman बहुत अच्छा। मैं आपकी चिंता को दूर करने के लिए "यदि आपका ऑपरेशन बड़ा हो जाता है" का अर्थ स्पष्ट करेगा।

@rackandboneman न सिर्फ 'को' हैंडल करने के लिए बनाया जा सकता है, बल्कि 'अक्सर' था।
jwg

8

प्रोग्रामिंग / सॉफ्टवेयर परिप्रेक्ष्य:

एक प्रोग्राम जो नेटवर्क एडॉप्टर पर पोर्ट 80 को सुनने में सक्षम है। वह ओएस पर चलता है जो आपके पास है। और HTTP परिभाषाओं के अनुसार अनुरोधों को संसाधित कर सकते हैं।

एक प्रोग्राम जो किसी भी पोर्ट को सुनता है, उसी कंप्यूटर के प्रत्येक कंप्यूटर से एक ही नेटवर्क में उपलब्ध होता है। आदर्श रूप से, यह एक ज्ञात मानक पोर्ट होना चाहिए (HTML सर्वर के लिए 80 और 8080; कस्टम अनुप्रयोगों के लिए 1024 से परे उठाएं)। जिस कंप्यूटर पर आप विकास कर रहे हैं, उसी कंप्यूटर पर नेटवर्क पहुंच योग्य प्रोग्राम के विकास को चलाना भी आम बात है।

यदि आप इसे लोकलहोस्ट के माध्यम से पहुंचा सकते हैं, तो आप इसे उसी नेटवर्क के भीतर कहीं से भी पहुंचा सकते हैं, और कहीं से भी इस मशीन और इसके नेटवर्क एडेप्टर के लिए एक रास्ता है।

कैविएट: लोकलहोस्ट की डिफॉल्ट इंस्टॉलेशन लिमिट में ऑल-इन-वन डेवलपमेंट एनवायरनमेंट्स का एक बहुत। आप नहीं चाहते हैं कि आपके व्यवस्थापक उपकरण इंटरनेट से, सभी के बाद उपलब्ध हो।

हार्डवेयर:

हार्डवेयर कहीं पर "उस 10-वर्षीय कंप्यूटर जो XP या लिनक्स चलाता है" पर शुरू होता है और "128 कोर के आसपास समाप्त होता है, 2 TiB RAM और एक छापे में SSDs के 256 TiB" के साथ, DB एक अलग सर्वर पर भी चल रहा है । वेब एप्लिकेशन बहुत सुखदायक होते हैं, इसलिए आप उन सर्वरों के क्लस्टर के साथ इसे और भी अधिक बढ़ा सकते हैं। और जियोकास्ट। और वितरित डिजाइन। और बहुत सारे अन्य सामान। यह पूरी तरह से इस बात पर निर्भर करता है कि हम किस पैमाने पर बात कर रहे हैं।

आपके द्वारा मिलने की संभावना वाला सबसे सरल वेब सर्वर वह रूटर है जिसका आप उपयोग कर रहे हैं, btw। वे सभी कॉन्फ़िगरेशन उद्देश्यों के लिए एक वेब सर्वर चलाते हैं, एक लिनक्स पर होस्ट किया जाता है (जो सभी डीएचसीपी और एनएटी काम कर रहा है)।

नेटवर्किंग:

इंटरनेट पर कहीं भी शामिल है - - अब अन्य नेटवर्क से एक रास्ता होने कि एक पूरी तरह से अलग कहानी है और एक हिस्सा भी कठिन आवेदन प्रोग्रामिंग से है। आपके रूटर और वाहक ग्रेड NAT के NAT के बीच, यह सामान वास्तव में कठिन हो गया।

  • आपके पास हमेशा अपने ISP से निजी व्यक्ति के रूप में एक निश्चित IP पता खरीदने का विकल्प होता है। जैसा कि यह इंगित करता है, कि अतिरिक्त लागत की संभावना होगी। डीएनएस प्रविष्टि जीवन की गुणवत्ता का एक गुण होगा।
  • कैरियर ग्रेड NAT से पहले वापस , आप अपने डायनामिक IP पते और एक DynDNS सेवा के साथ काम कर सकते हैं। लेकिन वाहक ग्रेड NAT के साथ, अब आपके पास मात देने के लिए एक और बेकाबू NAT होगा - शायद। आपके प्रदाता पर निर्भर करता है।
  • एक प्रकार का NAT का अंतिम समाधान करने के लिए, किसी भी संख्या में परतें TCP / IP छेद छिद्रण हैं । सभी वीपीएन समाधान इसका उपयोग करते हैं। जैसे स्काइप, टीम व्यूअर और अन्य सभी। समस्या यह है: टीसीपी / आईपी छेद छिद्रण करने के लिए, आपको इंटरनेट पर पहले से ही उपलब्ध सर्वर की आवश्यकता है।
  • यदि यह छोटे पैमानों (1 से 10 एंडपॉइंट्स) के बारे में है, तो आमतौर पर, सबसे सरल तरीका नेटवर्क में वीपीएन कनेक्शन बनाने का है। ज्यादातर राउटर्स को इसके लिए सपोर्ट है।

2
"वह 10 साल पुराना कंप्यूटर जो लिनक्स चलाता है"। वेब की उम्र को देखते हुए, हम सुरक्षित रूप से उस बैक को पुश कर सकते हैं। मुझे व्यक्तिगत रूप से लगभग 20 साल पहले एक मूल इंटेल 80386 पर एक वेबसर्वर चलाने की याद है।
MSalters

@MSalters आप इससे बहुत कम अंत में जा सकते हैं। मैं इसे आज नहीं ढूँढ सकता, लेकिन कुछ साल पहले मैं एक शेल स्क्रिप्ट / सीजीआई वेब सर्वर में चला गया था जो कि हार्डवेयर पर चलाया जा सकता था जितना कि कम से कम मोटो 68k के रूप में समाप्त होता है। जाहिरा तौर पर यह 15-20 साल पहले एम्बेडेड जगह में अपेक्षाकृत लोकप्रिय था।
डैन नीली

3

यदि आपके पास किसी भी प्रकार का कंप्यूटर (पीसी, लैपटॉप, स्मार्टफोन, रास्पबेरीपीआई ...) पायथन स्थापित है, तो बस टाइप करें:

$ python -m SimpleHTTPServer

या यदि आपके पास Node.js स्थापित है:

$ npm install http-server -g
$ http-server

बधाई हो, आपके पास एक वेब सर्वर है!

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