कंप्यूटरप्रोग्रामिंग

Nginx: सेटअप और स्थापना

अपाचे, nginx क्या है? प्रयोजन, सुविधाओं, अनुकूलन विकल्प - इन बातों को जो हर वेब डेवलपर उनके घटनाओं का परीक्षण करने के परिचित होना चाहिए रहे हैं।

nginx बारे में एक शब्द कहो

यह उपकरण एक मुख्य और कई workflows है। पढ़ने और विन्यास सत्यापन के साथ पहले से संबंधित है। इसके अलावा उसके नियंत्रण में कार्यप्रवाह प्रबंधन है। अतीत की समस्या - आने वाले अनुरोधों को संभालने के लिए। nginx उपयोग मॉडल है कि घटनाओं पर आधारित है। तंत्र भी इस्तेमाल किया ऑपरेटिंग सिस्टम के आधार क्रम में सीधे कार्यकर्ता प्रक्रियाओं के बीच कुशल आवंटन अनुरोध प्राप्त करने के लिए कर रहे हैं। उनकी संख्या हमेशा विन्यास फाइल में दर्शाया गया है। मूल्य या तो निश्चित या स्वचालित रूप से सेट, प्रोसेसर कोर की संख्या कि संभाला जा सकता है के द्वारा निर्देशित किया जा सकता है। प्रणाली और मॉड्यूल की nginx विन्यास में कॉन्फ़िगरेशन फ़ाइल का उपयोग किया जाता है। इसलिए, यदि आप कुछ बदलने की जरूरत है, तो आप उस व्यक्ति के नाम देखने की जरूरत है। आमतौर पर यह निर्देश / etc / nginx में है (लेकिन मार्ग अन्य प्रणालियों के साथ भिन्न हो सकते हैं) और एक विस्तार .conf है।

प्रारंभ, पुनः आरंभ, और लॉग

ऐसा करने के लिए, आप निष्पादन योग्य रन बनाना चाहिए। विन्यास nginx सर्वर तभी संभव है जब यह शुरू कर दिया जाता है। प्रबंधन धन्यवाद किया जाता है -s पैरामीटर के साथ निष्पादन योग्य कॉल करने के लिए। ऐसा करने के लिए निम्नलिखित का उपयोग करें:

nginx -s संकेत

इस मामले में, आप निम्न कमांड स्थानापन्न कर सकते हैं (जो उपकरण का शुभारंभ उपयोगकर्ता से आना चाहिए):

  1. बंद करो। यह तेजी से शटडाउन के लिए प्रयोग किया जाता है।
  2. पुनः लोड करें। टीम विन्यास फाइल फिर से लोड करने की जरूरत है। तथ्य यह है कि कोई भी परिवर्तन प्रभावी नहीं होगा जब तक फ़ाइल काम करता है। और प्रभावी होने के लिए, एक रिबूट आवश्यक है। जैसे ही आप इस संकेत मिलता है के रूप में, मुख्य प्रक्रिया विन्यास फाइल की वाक्यात्मक घटक की सत्यता की पुष्टि और वहाँ मार्गदर्शन उपलब्ध लागू करने के लिए प्रयास करने के लिए शुरू होता है। विफलता के मामले में, इसे वापस परिवर्तनों को निरस्त होगा और पुराने मानकों के साथ काम करेंगे। यदि सब कुछ सफल होता है, यह नए वर्कफ़्लो का शुभारंभ करेंगे, और पुराने मांग समाप्त करने के लिए भेजा जाएगा।
  3. बाहर निकलें। काम को सुचारू रूप से पूरा करने के लिए प्रयोग किया जाता है। यदि आप जब तक वर्तमान अनुरोध बनाए रखा समाप्त इंतजार करना चाहते हैं यह प्रयोग किया जाता है।
  4. फिर से खोलें। बंद और खुले लॉग फाइल।

उपयोगिताओं का उपयोग करना

स्थापना की प्रक्रिया भी यूनिक्स साधनों का उपयोग किया जा सकता है (मार उपयोगिता एक उदाहरण के रूप में चर्चा की जाएगी)। वे आम तौर पर एक प्रणाली का उपयोग प्रक्रिया डेटा को सीधे संकेत भेजने के लिए। वे आईडी के माध्यम से जुड़े हुए हैं। इस डेटा nginx.pid फ़ाइल में संग्रहित है। हमें लगता है कि हम इस प्रक्रिया №134 में रुचि रखते हैं करते हैं। फिर, जरूरत के सुचारू पूरा करने के लिए हमें निम्नलिखित जानकारी भेजने के लिए:

-s QUIT 1628 को मारने

हमें लगता है कि हम सभी खुले फ़ाइलों की एक सूची देखने के लिए चाहते हैं। हम उपयोगिता ps का उपयोग कर रहे हैं। टीम भी इस प्रकार दिखेगा:

ps -ax | ग्रेप nginx

यही कारण है, जैसा कि आप देख सकते हैं, अतिरिक्त उपकरणों से संकेत मिलता है कि वह अपने आवेदन चला जाता है का उपयोग करके। और अब के कैसे प्रतिबद्ध nginx-विन्यास पर ध्यान केंद्रित करते हैं।

विन्यास फाइल की संरचना

स्थापित कर रहा है और nginx को विन्यस्त मॉड्यूल के साथ काम भी शामिल है। वे ऐसे निर्देश हैं जो विन्यास फाइल में निर्दिष्ट कर रहे हैं का उपयोग कर कॉन्फ़िगर किया गया है। वे साधारण या ब्लॉक हो सकता है। पहले प्रकार निर्देशों और मानकों, जो रिक्तियों से अलग कर रहे हैं के होते हैं, और उनके अंत अर्धविराम से निर्देशित होता है - (;)। ब्लॉक एक समान संरचना है। लेकिन इस निर्देश निर्देश है कि कर्ली कोष्ठक ({} निर्देश) में रखा जाता है के अतिरिक्त सेट स्थित बंद करने की बजाय। वे नाम और प्रक्रिया के अन्य मानकों को पोस्ट कर सकते हैं, तो वे कहा जाता है इस तरह के निर्माण के संदर्भ की है। एक उदाहरण के लिए, http, स्थान और सर्वर के रूप में।

स्थैतिक सामग्री का वितरण

यह सबसे महत्वपूर्ण nginx विन्यास का सामना करना पड़ चुनौतियों में से एक है। सामग्री के सांख्यिकीय वितरण के तहत मतलब छवियों और एचटीएमएल-पृष्ठों (गतिशील नहीं) है। मान लीजिए कि हम क्लस्टर nix nginx की स्थापना पर एक ही काम की जरूरत है। ऐसा करना मुश्किल है? नहीं है, एक उदाहरण को देखो। यह आरंभ करने से पहले, यह विस्तार करने के लिए आवश्यक समस्या की शर्तों है। तो, अनुरोध के आधार पर, फ़ाइलें विभिन्न स्थानीय निर्देशिका से आएगा। इस प्रकार, / डाटा / www में हमारे द्वारा HTML-दस्तावेज नहीं हैं। और निर्देशिका / डेटा / छवियों में आने वाली छवियां। इस मामले में इष्टतम सेटिंग nginx संपादन विन्यास फाइल है, जो आप http भीतर सर्वर इकाई कॉन्फ़िगर करना होगा की आवश्यकता है। दो स्थान के रूप में इस्तेमाल किया जाएगा समर्थन करने के लिए।

कार्यान्वयन: सर्वर

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

http {

सर्वर {

}

}

विन्यास फाइल कई तरह के ब्लॉक के साथ काम कर सकते हैं। लेकिन वे उनके नाम और बंदरगाहों डेटा प्राप्त होता है, जिसके माध्यम से द्वारा प्रतिष्ठित किया जाना चाहिए।

कार्यान्वयन: स्थान

सर्वर के भीतर निर्धारित:

स्थान / {

जड़ / डेटा / www;

}

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

स्थान / images / {

जड़ / डेटा;

}

कैसे पहचान सकते हैं, हम एक छवि के लिए देख रहे हैं। अब, चलो सब घटनाओं है कि पहले थे, और इस समय विन्यास इस प्रकार है गठबंधन करते हैं:

सर्वर {

स्थान / {

जड़ / डेटा / www;

}

स्थान / images / {

जड़ / डेटा;

}

}

यह उस मामले, मानक की एक काम संस्करण है बंदरगाह №80। बिना किसी समस्या के इस सर्वर आपके कंप्यूटर पर उपलब्ध हो सकता है, यदि आप पता करने के लिए जाना: http: // localhost /। कैसे यह सब काम करता है?

उदाहरण के आपरेशन के सिद्धांत

तो, जब वे प्रश्नों है कि एक / छवियों के साथ शुरू करने के लिए आते हैं, इसी निर्देशिका फ़ाइलों के सर्वर उपयोगकर्ता के लिए भेजा जाएगा। उनकी अनुपस्थिति में त्रुटि 404. संकेत जानकारी दी जाएगी, तो स्थानीय कंप्यूटर पर nginx विन्यास किया जाता है, तो अनुरोध http: //localhost/images/example.png हम एक फ़ाइल जिसका स्थान /data/images/example.png मिल जाएगा। जब आप निर्दिष्ट एक "/" प्रतीक खोज निर्देशिका / डेटा / www में आयोजित की जाएगी। लेकिन हम केवल विन्यास बदल गया है। यह काम करने के लिए शुरू होता है, यह पुनरारंभ करना होगा। ऐसा करने के लिए nginx -s पुनः लोड का उपयोग करें। इस मामले में जहां सामान्य ऑपरेशन access.log और निर्देश / usr / स्थानीय / nginx / लॉग में स्थित error.log फाइलों में, संभव नहीं है, तो आप गलती के कारण के लिए देख सकते हैं।

एक साधारण प्रॉक्सी सर्वर बनाना

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

सर्वर {

8080 सुन;

जड़ / डेटा / Up1;

स्थान / {

}

}

अब, चलो आप के लिए समझने करते हैं: एक साधारण सर्वर बनाने। वह करने के लिए सुनेगा पोर्ट 8080 एक सुन नहीं है, तो सर्वर 80 वें पर चलेंगे। स्थानीय फाइल सिस्टम के भीतर सभी अनुरोध करता है कि निर्देशिका / डेटा / Up1 करने के लिए निर्देशित कर रहे हैं प्रदर्शित किया जाएगा (जाहिर है, इससे पहले कि है कि यह इसे बनाने के लिए आवश्यक हो जाएगा)। यह index.html फ़ाइल जगह के लिए आवश्यक है की जाँच करने में सक्षम हो। रूट सर्वर हम हर समय स्थान का उपयोग कर सकते के संदर्भ में निर्देशों की नियुक्ति के कारण (इस प्रकार निकाले गए प्रतिबंधों का उपयोग के रूप में)। अब हम एक प्रॉक्सी बनाने के लिए काम कर रहे हैं। यह काम करने के लिए के लिए, हम proxy_pass निर्देश, जिसके लिए निर्दिष्ट किया जाएगा प्रोटोकॉल नाम, और पैरामीटर के रूप में बंदरगाह सुविधा की जरूरत है (स्थानीय कनेक्शन के लिए यह http तरह दिखेगा: // स्थानीय होस्ट: 8080)। इस परिणाम प्राप्त करें:

सर्वर {

स्थान / {

proxy_pass http: // localhost: 8080;

}

स्थान / images / {

जड़ / डेटा;

}

}

आप कोड को देखो और विश्लेषण हैं, तो आप देख सकते हैं कि दूसरी इकाई स्थान बदल दिया गया है। इस प्रकार, इस मामले में, यह ठेठ एक्सटेंशन छवियों के साथ काम कर सकते हैं। एक छोटी सी अलग है, यह इस प्रकार के रूप में प्रदर्शित किया जा सकता है:

स्थान ~ \ (gif | जेपीजी | png) $ {।

जड़ / डेटा / छवियों;

}

अंतिम प्रॉक्सी कॉन्फ़िगरेशन इस प्रकार है:

सर्वर {

स्थान / {

proxy_pass http: // localhost: 8080 /;

}

स्थान ~ \ (gif | जेपीजी | png) $ {।

जड़ / डेटा / छवियों;

}

}

यह पता अंत में अनुरोध जिनमें से इन एक्सटेंशन होते हैं और उनमें जो व्यक्ति फाइलों का अनुरोध करने के लिए भेज फ़िल्टर करेगा। भूल जाते हैं कि उसे पुन: प्रारंभ करने की आवश्यकता होगी आप विन्यास फाइल की जांच करना चाहते हैं तो न करें। और मुझे विश्वास है, यह सिर्फ nginx-विन्यास है। आप विन्यास "Vkontakte" फ़ाइल सर्वर या अन्य बड़ी कंपनी खोलते हैं, तो वे इस लेख में शब्दों से कोड अधिक होगा।

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 hi.unansea.com. Theme powered by WordPress.