प्रौद्योगिकी साझेदारी

Nginx सप्त-स्तरीय (अनुप्रयोग-स्तर) विपरीत-प्रॉक्सी: SCGI प्रॉक्सी scgi_pass

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Nginx सप्तस्तरीय (अनुप्रयोगस्तर) विपरीत प्रॉक्सी
SCGI एजेण्ट scgi_pass

- लेख सूचना -
लेखकः: ली जुन्कै (jcLee95) ९.
CSDN इत्यत्र मां पश्यन्तु: https://jclee95.blog.csdn.net
मम जालस्थलम्http://thispage.tech/ इति ग्रन्थः ।
ईमेल : १. [email protected] पर सम्पर्क करें.
शेन्झेन् चीन
अस्य लेखस्य पताः १.https://blog.csdn.net/qq_28550263/लेख/विवरण/140253307
हुआवेई : १.https://bbs.huaweicloud.com/ब्लॉग्स/XXXXXXXXXX

[परिचयः]: Nginx विविधं अनुप्रयोगस्तरविपरीतप्रॉक्सीसमर्थनं प्रदाति, यत्र proxy_pass, uwsgi_pass, fastcgi_pass तथा scgi_pass इत्यादयः सन्ति । तेषु, proxy_pass निर्देशः HTTP/HTTPS प्रोटोकॉलस्य कृते विपरीतप्रॉक्सी कार्यान्वितुं URL पैरामीटर् स्वीकुर्वितुं शक्नोति uwsgi_pass इत्यस्य उपयोगः uWSGI अनुप्रयोगसर्वरं प्रति प्रॉक्सी कर्तुं भवति तथा च scgi_pass इत्यस्य उपयोगः प्रॉक्सी कर्तुं भवति; SCGI (Simple Common Gateway Interface) अनुप्रयोगं प्रति । एते निर्देशाः Nginx इत्यस्मै विभिन्नप्रकारस्य पृष्ठभागसेवानां अनुप्रयोगानाञ्च लचीलतया निबन्धनं कर्तुं समर्थयन्ति । अस्य लेखस्य केन्द्रबिन्दुः scgi_pass इति अस्ति ।


सम्बन्धित लेख : १.
Nginx सप्तस्तरीयविपरीतप्रॉक्सी: HTTP विपरीतप्रॉक्सी प्रॉक्सी_पास

Nginx सप्तस्तरीय विपरीत प्रॉक्सी: UWSGI प्रॉक्सी uwsgi_pass
Nginx सप्त-स्तरीय विपरीत प्रॉक्सी: SCGI प्रॉक्सी scgi_pass
Nginx सप्तस्तरीयविपरीतप्रॉक्सी: FastCGI प्रॉक्सी fastcgi_pass

अत्र चित्रविवरणं सम्मिलितं कुर्वन्तु

सामग्रीसूची


१ अवलोकनम्

१.१ SCGI इति किम्

एससीजीआई(Simple Common Gateway Interface) प्रॉक्सी अस्तिङिन्क्स समर्थितेषु महत्त्वपूर्णेषु विपरीतप्रॉक्सीविधिषु अन्यतमम् । इत्यस्मिन्‌,एससीजीआईसरलीकृतं संस्करणम् अस्तिसीजीआई(Common Gateway Interface) इति प्रोटोकॉल, यत् अधिककुशलं मार्गं संयोजयितुं विनिर्मितम् अस्तिजालम् सर्वरः अनुप्रयोगाः च।पारम्परिकेन सहसीजीआईतुल्यम्, २.एससीजीआईनिरन्तरं संयोजनानां सरलीकृतप्रोटोकॉलस्वरूपस्य च उपयोगेन प्रति-अनुरोधस्य उपरिभारः महत्त्वपूर्णतया न्यूनीकरोति ।

एससीजीआईप्रोटोकॉलः एकं मानकीकृतं मार्गं परिभाषयति यत्...जालम् अनुरोधसूचनाः पारयन्तु तथा सर्वरस्य अनुप्रयोगस्य च मध्ये प्रतिक्रियाः प्राप्नुवन्तु। अनुरोधशीर्षकसूचनाः प्रसारयितुं सरलपाठस्वरूपस्य उपयोगं करोति, तदनन्तरं अनुरोधशरीरस्य (यदि अस्ति) ।एतत् डिजाइनं करोतिएससीजीआईकार्यान्वयनम् सुलभं च उत्तमं प्रदर्शनं च ददाति ।

1.2 SCGI इत्यस्य अनुप्रयोगपरिदृश्यानि

अस्तिजालम्अनुप्रयोगवास्तुकलायां .एससीजीआईयथा अभिनयम्जालम्सर्वर (यथाङिन्क्स ) तथा पृष्ठ-अन्त-अनुप्रयोगाः।कदाङिन्क्सग्राहकात् प्राप्तःएचटीटीपीयदा अनुरोधः क्रियते तदा एतान् अनुरोधाः इति परिवर्तयितुं शक्नोतिएससीजीआईप्रारूपं कृत्वा ततः पासं कुर्वन्तुएससीजीआईप्रोटोकॉलः पृष्ठभागस्य अनुप्रयोगसर्वरं प्रति प्रेष्यते ।

एषः उपायः विशेषतया तेषां कृते उपयुक्तः अस्ति ये देशीरूपेण समर्थनं कुर्वन्तिएससीजीआईप्रोटोकॉल प्रोग्रामिंग भाषाः तथा च ढांचा यथा...अजगरकेचनजालम्फ्रेम्स (उदा.फ्लुप्)वामाणिक्यम्केचन अनुप्रयोगसर्वरः (यथा...एकशृङ्गः ).उपयोगेनएससीजीआई, एते अनुप्रयोगाः परिहर्तुं शक्नुवन्तिएचटीटीपीपार्सिंग् इत्यस्य उपरिभागः, प्रत्यक्षतया तः संसाधनम्जालम्सर्वरं प्रति अनुरोधं करोति, तस्मात् समग्रप्रदर्शने सुधारः भवति ।

व्यावहारिकप्रयोगेषु .एससीजीआईउपयोगपरिदृश्येषु अन्तर्भवन्ति परन्तु एतेषु एव सीमिताः न सन्ति :

  1. उच्च प्रदर्शनम्जालम्अनुप्रयोगः - येषां अनुप्रयोगानाम् कृते बहूनां समवर्ती-अनुरोधानाम् निबन्धनं करणीयम् अस्ति,एससीजीआईपारम्परिकापेक्षया उत्तमं प्रदातुं शक्नोतिसीजीआईउत्तमं प्रदर्शनम्।

  2. दीर्घकालीनप्रक्रियाः : कतिपये अनुप्रयोगाः येषां स्थितिं निर्वाहयितुम् आवश्यकम् अथवा दीर्घकालं यावत् चलितानि सन्तिएससीजीआईतथाजालम्सर्वरः निरन्तरं संयोजनं निर्वाहयति ।

  3. भाषा-विशिष्ट-अनुकूलनम् : कतिपयानि प्रोग्रामिंग-भाषाः अथवा रूपरेखाः उपयुज्यन्ते स्यात्एससीजीआईउत्तमं प्रदर्शनं वा सरलतरं कार्यान्वयनञ्च दर्शयन्तु।

by inङिन्क्सप्रयुक्ते inscgi_passआदेशं, प्रशासकाः सहजतया स्थापयितुं शक्नुवन्तिएचटीटीपीसमर्थनार्थं अनुरोधं अग्रे प्रेषयन्तुएससीजीआई पृष्ठभाग अनुप्रयोग सर्वर।एतेन न केवलं विन्यासप्रक्रिया सरलं भवति अपितु अनुकूलनस्य अवसराः अपि प्राप्यन्तेजालम्अनुप्रयोगस्य प्रदर्शनं लचीलतां प्रदाति।

2. SCGI प्रोटोकॉलस्य परिचयः

२.१ SCGI प्रोटोकॉलस्य लक्षणम्

एससीजीआई(Simple Common Gateway Interface) इति प्रोटोकॉलः सरलीकृतः अस्तिसीजीआईप्रोटोकॉल, विशेषतया कृते डिजाइनं कृतम्जालम् सर्वरस्य अनुप्रयोगस्य च मध्ये संचारः। अस्य निम्नलिखितप्रमुखविशेषताः सन्ति ।

सरलता : १.एससीजीआई प्रोटोकॉल अनुरोधशीर्षकसूचनाः प्रसारयितुं सरलपाठस्वरूपस्य उपयोगं करोति, येन प्रोटोकॉलस्य कार्यान्वयनम्, त्रुटिनिवारणं च तुल्यकालिकरूपेण सुलभं भवति । प्रोटोकॉलस्य डिजाइनदर्शनं पर्याप्तं कार्यक्षमतां प्रदातुं सरलं स्थापयितुं भवति ।

निरन्तरसम्बन्धाः : पारम्परिकविरुद्धम्सीजीआईभिन्नः,एससीजीआई निरन्तरसंयोजनानां समर्थनं करोति ।अस्य अर्थः कएससीजीआई सर्वरः प्रत्येकस्य अनुरोधस्य कृते नूतनं प्रक्रियां वा सूत्रं वा न निर्माय बहुविधं अनुरोधं सम्भालितुं शक्नोति । एतेन प्रणालीसंसाधनस्य उपरि महती न्यूनता भवति तथा च समग्रप्रदर्शने सुधारः भवति ।

न्यूनः उपरिभागः : कारणतःएससीजीआई प्रोटोकॉलस्य डिजाइनं सरलं भवति तथा च अनुरोधप्रक्रियायाः समये अल्पं अतिरिक्तं ओवरहेड् निर्माति ।एतेन भवतिएससीजीआईविशेषतः उच्चसमकालीनतायाः निबन्धनार्थं उपयुक्तःजालम्अनुप्रयोग परिदृश्य।

लचीलापनम् : १.एससीजीआई प्रोटोकॉल मनमाना शीर्षकसूचनायाः संचरणं अनुमन्यते, यत् विकासकान् महतीं लचीलतां प्रदाति । विकासकाः विशिष्टानां अनुप्रयोगानाम् आवश्यकतानां पूर्तये आवश्यकतानुसारं शीर्षकसूचनाः अनुकूलितुं शक्नुवन्ति ।

भाषास्वतन्त्रता : १.एससीजीआई प्रोटोकॉलस्य डिजाइनः प्रोग्रामिंग् भाषा स्वतन्त्रः अस्ति ।अस्य अर्थः अस्ति यत् एतत् कस्यापि प्रोग्रामिंगभाषायां कार्यान्वितुं शक्यते, येन विकासकाः स्वस्य परियोजनायाः आवश्यकतायाः अनुकूलां भाषां चयनं कर्तुं शक्नुवन्ति ।एससीजीआईसर्वरः ।

२.२ SCGI vs HTTP प्रोटोकॉल

यद्यपिएससीजीआईतथाएचटीटीपीप्रयुज्यन्तेजालम्संचारप्रोटोकॉल, परन्तु तेषां डिजाइनप्रयोजनेषु उपयोगपरिदृश्येषु च महत्त्वपूर्णः अन्तरः अस्ति:

लक्ष्यप्रयोक्तारः : १.एचटीटीपीप्रोटोकॉल मुख्यतया क्लायन्ट् (यथा ब्राउजर्) द्वारा उपयुज्यते तथा च...जालम्सर्वराणां मध्ये संचारः, यदाएससीजीआईसम्झौतेः विषये केन्द्रितः अस्तिजालम्सर्वरस्य पृष्ठभागस्य च अनुप्रयोगानाम् मध्ये संचारः ।

प्रोटोकॉल जटिलता : १.एचटीटीपीप्रोटोकॉल तुल्यकालिकरूपेण जटिलः अस्ति तथा च विविधसमर्थनार्थं शीर्षकसूचनाः, पद्धतयः च बहुधा सन्तिजालम् अन्तरक्रियाशील दृश्य। तस्य विपरीतम् .एससीजीआईप्रोटोकॉल सरलतरः अस्ति तथा च अनुरोधानाम् प्रतिक्रियाणां च वितरणार्थं केवलं आवश्यकाः सूचनाः एव सन्ति ।

कार्यप्रदर्शनविचाराः : inजालम्सर्वरस्य अनुप्रयोगस्य च मध्ये उपयुज्यतेएससीजीआईवितरणंएचटीटीपीप्रोटोकॉलपार्सिंग् इत्यस्य ओवरहेड् न्यूनीकर्तुं शक्यते यतः...एससीजीआई प्रारूपं सरलतरं प्रत्यक्षतरं च अस्ति । एतेन उच्चसमवर्तीपरिदृश्येषु महत्त्वपूर्णं कार्यप्रदर्शनसुधारं आनेतुं शक्यते ।

संयोजनप्रबन्धनम् : १.एचटीटीपी/१.१निरन्तरसंयोजनानां अवधारणा प्रवर्तते स्म, परन्तु 1990 तमे वर्षेजालम्सर्वरस्य अनुप्रयोगस्य च मध्ये उपयुज्यतेएचटीटीपीअद्यापि अतिरिक्तसंयोजनप्रबन्धनस्य आवश्यकता भवितुम् अर्हति ।एससीजीआईनिरन्तरसंयोजनानां कृते अन्तःनिर्मितसमर्थनं एतां प्रक्रियां सरलीकरोति ।

प्रयोक्तव्याः दृश्याः : १.एचटीटीपीअन्तर्जालस्य मूलभूतः प्रोटोकॉलः अस्ति, विविधेषु च प्रयोज्यः अस्तिजालम्संचार परिदृश्य।एससीजीआईमुख्यतया प्रयोगः भवतिजालम्सर्वर-पृष्ठ-अन्त-अनुप्रयोगयोः मध्ये आन्तरिकसञ्चारः, विशेषतः तेषु परिदृश्येषु यत्र उच्च-प्रदर्शन-प्रक्रियाकरणस्य आवश्यकता भवति ।

२.३ एससीजीआई बनाम फास्टसीजीआई

एससीजीआईतथाद्रुतCGIसर्वेसीजीआईइत्यस्य उन्नतसंस्करणम्जालम् अनुप्रयोगस्य प्रदर्शनम्। तेषु केचन समानताः सन्ति, परन्तु केचन प्रमुखाः भेदाः अपि सन्ति : १.

प्रोटोकॉल जटिलता : १.एससीजीआईसम्झौता अनुपातद्रुतCGIसरलतरम् ।एससीजीआईशीर्षकसूचनाः प्रसारयितुं सरलपाठस्वरूपस्य उपयोगं करोति, whileद्रुतCGI द्विचक्रीयस्वरूपस्य उपयोगं कुर्वन्तु।एतेन भवतिएससीजीआईकार्यान्वयनम् अपि च त्रुटिनिवारणं सुलभं, परन्तु किञ्चित् न्यूनं भवितुम् अर्हतिद्रुतCGIप्रदर्शनम्‌।

  1. बहुविधीकरणम् : १.द्रुतCGIएकस्मिन् संयोजने (multiplexing) बहुविधं अनुरोधं नियन्त्रयितुं समर्थयति, यदा...एससीजीआई सामान्यतया प्रतिसंयोजनं केवलमेकं अनुरोधं संसाधितं भवति । अस्य अर्थः अस्ति यत् केषुचित् उच्च-समवर्ती-परिदृश्येषु,द्रुतCGIउत्तमं प्रदर्शनं कर्तुं शक्नोति।

  2. अभिलेखप्रकारः : १.द्रुतCGIअनेकाः अभिलेखप्रकाराः परिभाषिताः सन्ति (उदा.STDINSTDOUTSTDERRइत्यादि), सूक्ष्मतर-कणिकायुक्तं नियन्त्रणं अनुमन्यते ।एससीजीआईमुख्यतया अनुरोधानाम् प्रतिक्रियाणां च संचरणं प्रति केन्द्रितः सरलतरः उपायः स्वीक्रियते ।

  3. भाषासमर्थन: कारणात्द्रुतCGI यथा यथा दीर्घकालं यावत् अस्ति तथा तथा तस्य समर्थनं विविधप्रोग्रामिंगभाषासु, ढाञ्चेषु च अधिकं व्यापकं भवितुं शक्यते । तथापि,एससीजीआईअस्य सरलता केषुचित् भाषासु तस्य कार्यान्वयनम् सम्भाव्यतया अधिकं सरलं करोति ।

  4. कार्यप्रदर्शनम् : अधिकतया .एससीजीआईतथाद्रुतCGI कार्यप्रदर्शनभेदः महत्त्वपूर्णः नास्ति । कस्य प्रोटोकॉलस्य उपयोगः करणीयः इति चयनं प्रायः विशिष्टानां अनुप्रयोगानाम् आवश्यकतानां, विकासभाषासमर्थनस्य, व्यक्तिगतप्राथमिकतानां च उपरि निर्भरं भवति ।

3. Nginx मध्ये scgi_pass निर्देशः

३.१ scgi_pass निर्देशस्य मूलभूतवाक्यविन्यासः

अस्तिङिन्क्सविन्यासः, २.scgi_passनिर्देशस्य उपयोगः अनुरोधं पारयितुं भवतिएससीजीआई सर्वरस्य कृते मुख्यनिर्देशाः ।परिभाषयतिङिन्क्सयस्मै अनुरोधः अग्रे प्रेषितव्यःएससीजीआईसर्वरः अथवा सर्वरसमूहः।

scgi_passआदेशस्य मूलवाक्यविन्यासः यथा भवति ।

scgi_pass address;
  • 1

इत्यस्मिन्‌,addressनिम्नलिखितरूपेण भवितुम् अर्हति : १.

  1. डोमेन नाम वाIPपता प्लस् पोर्ट् सङ्ख्या : १.

उदाहरणतया:scgi_pass localhost:9000;

एवं सति .ङिन्क्सअनुरोधः स्थानीयहोस्ट् इत्यत्र चालितं पोर्ट् 9000 इत्यत्र शृण्वन् च सर्वरं प्रति अग्रे प्रेषितः भविष्यति ।एससीजीआईसर्वरः ।

  1. यूनिक्सडोमेन सॉकेट मार्गः : १.

उदाहरणतया:scgi_pass unix:/tmp/scgi.socket;

अत्र,ङिन्क्सनिर्दिष्टं पारयिष्यतियूनिक्सडोमेन सॉकेट सहएससीजीआई सर्वर संचार।प्रायः एषा पद्धतिः प्रयुक्ता भवतिएससीजीआईसर्वर सहङिन्क्सएकस्मिन् यन्त्रे चालनेन उत्तमं कार्यं दातुं शक्यते ।

  1. अपस्ट्रीम सर्वर समूहस्य नाम : १.

उदाहरणतया:scgi_pass scgi_backend;

अस्मिन् प्रयोगे .scgi_backendएकः इतिङिन्क्स विन्याससञ्चिकायां पूर्वनिर्धारितः अपस्ट्रीम सर्वरसमूहः । एतेन भवन्तः लोड् बैलेन्सिङ्ग्, फेलओवर इत्यादीनि उन्नतविशेषतानि कार्यान्वितुं शक्नुवन्ति ।

scgi_passनिर्देशाः प्रायः मध्ये भवन्तिlocationविशिष्टं नियन्त्रयितुं खण्डेषु उपयुज्यतेURL पथं। उदाहरणतया:

location /scgi/ {
    scgi_pass localhost:9000;
    include scgi_params;
}
  • 1
  • 2
  • 3
  • 4

अस्मिन् उदाहरणे सर्वे/scgi/आरम्भे अनुरोधाः स्थानीयपोर्ट् ९००० प्रति अग्रे प्रेषिताः भविष्यन्ति ।एससीजीआईसर्वरः ।

include scgi_params;स्टेट्मेण्ट् मध्ये पूर्वनिर्धारितं विन्याससञ्चिका अस्ति, यत् इत्यस्य श्रृङ्खलां सेट् करोतिएससीजीआई पैरामीटर्।एते मापदण्डाः परिभाषयन्तिङिन्क्सकथंएचटीटीपीअनुरोधसूचना परिवर्तिता भवतिएससीजीआईपृच्छतु।

द्रष्टव्यं यत्scgi_passनिर्देशाः अन्यैः सह संयोजितुं शक्यन्तेङिन्क्स अधिकजटिलविन्यासान् प्राप्तुं निर्देशानां संयोजनेन उपयोगः भवति ।यथा - भवन्तः उपयोक्तुं शक्नुवन्तिifभिन्न-भिन्न-शर्तानाम् आधारेण भिन्न-भिन्न-विकल्पानां चयनार्थं सशर्त-कथनानिएससीजीआईसर्वरः : १.

location / {
    if ($request_method = POST) {
        scgi_pass localhost:9001;
    }
    scgi_pass localhost:9000;
    include scgi_params;
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

अस्मिन् उदाहरणे .पदअनुरोधाः ९००१ पोर्ट् प्रति अग्रे प्रेष्यन्ते, अन्ये सर्वे अनुरोधाः ९००० पोर्ट् प्रति अग्रे प्रेष्यन्ते ।

३.२ scgi_pass vs proxy_pass इति

scgi_passतथाproxy_passते सर्वे सामान्यतया प्रयुक्ताः विपरीतप्रॉक्सीनिर्देशाः सन्ति, ते च सर्वे पृष्ठभागसर्वरं प्रति अनुरोधं अग्रे प्रेषयन्ति ।

इत्यस्मिन्‌,scgi_passसमर्थनेन सह उपयोगाय विनिर्मितम्एससीजीआईपृष्ठभागसर्वरसञ्चारस्य कृते प्रोटोकॉलः ।एससीजीआईइति सरलीकृतम्सीजीआईप्रोटोकॉल, कृते डिजाइनं कृतम्जालम् सर्वर-अनुप्रयोगयोः मध्ये कुशलः संचारः । तस्य विपरीतम् .proxy_passअधिकसामान्यनिर्देशः अस्ति यस्य उपयोगेन विविधप्रोटोकॉलस्य प्रॉक्सी कर्तुं शक्यते, यथाएचटीटीपीएचटीटीपीएसद्रुतCGIप्रतीक्षतु।

प्रयोगेscgi_passघटकः,ङिन्क्सप्राप्स्यतिएचटीटीपीअनुरोधः परिवर्तितः भवतिएससीजीआईप्रारूपं कृत्वा ततः पृष्ठभागं प्रति प्रेषितम्एससीजीआई सर्वरः । अस्मिन् क्रमे .ङिन्क्स बैक-एण्ड् सर्वरः अनुरोधं सम्यक् अवगन्तुं प्रक्रियां च कर्तुं शक्नोति इति सुनिश्चित्य प्रोटोकॉल-रूपान्तरणं सम्पादयिष्यति ।तथाproxy_passप्रायः प्रोटोकॉलरूपान्तरणं विना अनुरोधं अक्षुण्णं पृष्ठभागसर्वरं प्रति अग्रे प्रेषयितुं तस्य उपयोगः भवति ।

अन्यः महत्त्वपूर्णः अन्तरः अस्ति यत् एतत् कथं विन्यस्तं भवति ।scgi_passप्रायः सहकार्यस्य आवश्यकता भवतिscgi_paramसेट् कर्तुं उपयोक्तुं निर्देशःएससीजीआई प्रोटोकॉलद्वारा आवश्यकाः मापदण्डाः । उदाहरणतया:

location /app/ {
    scgi_pass localhost:9000;
    include scgi_params;
    scgi_param SCRIPT_FILENAME /path/to/app$fastcgi_script_name;
}
  • 1
  • 2
  • 3
  • 4
  • 5

अस्मिन् उदाहरणे .include scgi_paramsप्रवर्तितं पूर्वनिर्धारितम्एससीजीआईपैरामीटर्स्, whilescgi_paramअतिरिक्तमापदण्डान् सेट् कर्तुं निर्देशानां उपयोगः भवति ।

तस्य विपरीतम् .proxy_passविन्यासः प्रायः सरलतरः, अधिकः सरलः च भवति:

location /api/ {
    proxy_pass http://backend_server;
}
  • 1
  • 2
  • 3

कार्यप्रदर्शनस्य दृष्ट्या २.scgi_passतथाproxy_pass प्रत्येकस्य स्वकीयाः लाभाः सन्ति ।विशेषरूपेण परिकल्पितस्य उपयोगायएससीजीआईप्रोटोकॉल अनुप्रयोगः, २.scgi_passउत्तमं प्रदर्शनं दातुं शक्नोति यतः तत् परिहरतिएचटीटीपी प्रोटोकॉल ओवरहेड। तथापि,proxy_passअस्य बहुमुखी प्रतिभा इदं अधिकं लचीलं करोति तथा च विविधपृष्ठभागसर्वर-प्रोटोकॉल-योः अनुकूलतां प्राप्तुं शक्नोति ।

सुरक्षा अपि विचारणीयः पक्षः अस्ति ।यतःscgi_passसमर्पितःएससीजीआई protocol, यत् केषुचित् सन्दर्भेषु उत्तमं सुरक्षां दातुं शक्नोति यतोहि एतत् पृष्ठभागसर्वरेण सह कथं संवादं करोति इति सीमितं करोति ।तथाproxy_passबहुमुख्यतायाः कारणात् सुरक्षां सुनिश्चित्य विशेषतया संवेदनशीलदत्तांशस्य नियन्त्रणे अतिरिक्तविन्यासस्य आवश्यकता भवितुम् अर्हति ।

व्यावहारिकप्रयोगेषु उपयोगं चिनोतुscgi_passइदानीमपिproxy_pass मुख्यतया पृष्ठभागस्य अनुप्रयोगस्य विशेषतासु आवश्यकतासु च निर्भरं भवति ।यदि पृष्ठभागस्य अनुप्रयोगः विशेषतया उपयोगाय विनिर्मितः अस्तिएससीजीआईसम्झौता तर्हिscgi_pass उत्तमः विकल्पः भवेत्।यदि पृष्ठभागः मानकः अस्तिजालम्सर्वरः अथवा अनुप्रयोगः, समर्थितः वा आवश्यकः वा नास्तिएससीजीआई,अतःproxy_passअधिकं उपयुक्तं भवेत्।

३.३ scgi_pass कथं कार्यं करोति

scgi_passनिर्देशः इतिङिन्क्सप्रसंस्करणे प्रयुक्तम्एससीजीआई (Simple Common Gateway Interface) इति मूलनिर्देशाः अनुरोधिताः । कथं कार्यं करोति इति ग्राहक-अनुरोधं प्राप्तुं आरभ्य ग्राहकाय संसाधितं प्रतिक्रियां प्रत्यागन्तुं यावत् बहुपदानि सन्ति ।

सर्वप्रथमं कदाङिन्क्सग्राहकात् प्राप्तम्एचटीटीपी यदा अनुरोधः क्रियते तदा विन्याससञ्चिकायां नियमानाम् आधारेण अनुरोधं कथं नियन्त्रयितव्यम् इति निर्णयं करिष्यति ।यदि अनुरोधः उपयोगेन सह मेलतिscgi_passनिर्देशस्य स्थानखण्डः, २.ङिन्क्सआरभ्यतेएससीजीआईप्रसंस्करण प्रवाह।

अस्तिएससीजीआईप्रसंस्करणप्रक्रियायाः कालखण्डे २.ङिन्क्सप्रथमं वयं सृजामःएससीजीआई सर्वर संयोजन।एषः संयोगः भवितुम् अर्हतिTCPसॉकेट वायूनिक्सडोमेन सॉकेट्, इत्यस्य आधारेणscgi_pass निर्देशे निर्दिष्टं सम्बोधनं । यदि अपस्ट्रीम सर्वरसमूहः उपयुज्यते तर्हिङिन्क्सविन्यस्तभारसन्तुलन-अल्गोरिदम् इत्यस्य आधारेण विशिष्टः सर्वरः अपि चयनितः भवति ।

संयोगस्य स्थापनानन्तरं .ङिन्क्सभविष्यतिएचटीटीपीअनुरोधः परिवर्तितः भवतिएससीजीआई प्रारूप ।अस्मिन् प्रक्रियायां सृष्टिः अपि अन्तर्भवतिएससीजीआईअनुरोधशीर्षकं अनुरोधशरीरं च।एससीजीआईअनुरोधशीर्षके कुञ्जी-मूल्ययुग्मानां श्रृङ्खला भवति यत् अनुरोधस्य विषये मेटाडाटा प्रदाति, यथा अनुरोधविधिः, मार्गः, प्रश्नतारः, क्लायन्ट्IP पता आदि।एतस्याः अधिकांशः सूचनाः मूलतः एव आगच्छतिएचटीटीपीअनुरोधशीर्षकाणि, परन्तु अन्तर्भवितुं अपि शक्नुवन्तिscgi_paramआदेशेन सेट् कृताः अतिरिक्ताः मापदण्डाः ।

एससीजीआई अनुरोधशीर्षकस्य प्रारूपं विशिष्टं भवति: सम्पूर्णस्य शीर्षकस्य दीर्घतां सूचयन्त्याः सङ्ख्यायाः आरम्भः भवति, तदनन्तरं कोलन्, ततः शून्यवर्णेन समाप्तस्य कील-मूल्ययुग्मस्य श्रृङ्खला, अन्ते च अल्पविरामेन समाप्तः भवतियथा - सरलीकृतम्एससीजीआईअनुरोधशीर्षकं एतादृशं दृश्यते:

70:CONTENT_LENGTH27SCGI1REQUEST_METHODGETquery_string,
  • 1

अस्मिन् उदाहरणे "70" शीर्षकस्य कुलदीर्घतां प्रतिनिधियति, तदनन्तरं त्रीणि कील-मूल्ययुग्मानि सन्ति ।CONTENT_LENGTHSCGIतथाREQUEST_METHOD

अनुरोधशीर्षकं प्रेषयित्वा, .ङिन्क्स अनुरोधशरीरं प्रेष्यते (यदि अस्ति)।कृतेप्राप्नोतुअनुरोधानाम् प्रायः अनुरोधशरीरं नास्ति, परन्तु कृतेपदवास्थापयतुअनुरोधः, अनुरोधशरीरे प्रपत्रदत्तांशः अन्यप्रकारस्य सामग्री वा भवितुं शक्नोति ।

एससीजीआई सर्वरः अनुरोधं प्राप्य अनुरोधं संसाधित्वा प्रतिक्रियां जनयति ।प्रतिक्रिया पुनः तस्मिन् एव संयोजने प्रेष्यतेङिन्क्सएससीजीआईप्रतिक्रियायाः प्रारूपं तुल्यकालिकरूपेण सरलं भवति अस्मिन् प्रतिक्रियाशीर्षकाणि प्रतिक्रियाशरीराणि च सन्ति, ये रिक्तरेखायाः पृथक्कृताः सन्ति ।

ङिन्क्सप्राप्तःएससीजीआईसर्वरस्य प्रतिक्रियायाः अनन्तरं पुनः परिवर्ततेएचटीटीपी प्रतिक्रिया प्रारूप।अस्मिन् प्रक्रियायां पार्सिंग् अपि अन्तर्भवतिएससीजीआईप्रतिक्रियाशीर्षकाणि, समुचितरूपेण सेट् कुर्वन्तुएचटीटीपीप्रतिक्रियाशीर्षकाणि, ततः प्रतिक्रियाशरीरं अक्षुण्णं ग्राहकाय पारयन्ति ।

समग्रप्रक्रियायां, २.ङिन्क्स संयोजनस्य जीवनचक्रस्य प्रबन्धनस्य अपि उत्तरदायी।अस्मिन् संयोजनसमयसमाप्तिनिबन्धनं, संयोजनसङ्ग्रहस्य प्रबन्धनं (यदि सक्षमम् अस्ति) अन्तर्भवतिkeepalive ), जालदोषादिकं सम्पादयति। यदि संसाधनकाले दोषः भवति तर्हिङिन्क्सविन्यासानुसारं क्लायन्ट् प्रति समुचितं त्रुटिप्रतिक्रिया प्रत्यागमिष्यति ।

अतिरिक्ते,scgi_pass कार्यप्रक्रिया अ-अवरुद्धा भवति।इति भावःङिन्क्सबहुविधं संसाधितुं शक्नोतिएससीजीआई प्रत्येकस्य अनुरोधस्य कृते नूतनं प्रक्रियां वा सूत्रं वा न निर्माय अनुरोधं कुर्वन्ति ।एतत् डिजाइनं करोतिङिन्क्सबहूनां समवर्तीसंयोजनानां कुशलतापूर्वकं निबन्धनस्य क्षमता।

4. scgi_pass इत्यस्य उपयोगाय Nginx विन्यस्यताम्

४.१ मूलभूतविन्यासोदाहरणम्

अस्तिङिन्क्समध्यम विन्यासscgi_pass इत्यस्य मूलभूतं उदाहरणं तुल्यकालिकरूपेण सरलम् अस्ति ।एतत् विन्यासः अनुमन्यतेङिन्क्सकृते विशिष्टमार्गस्य अनुरोधाः अग्रे प्रेषयन्तुएससीजीआई सर्वरः । अत्र मूलभूतं विन्यासस्य उदाहरणम् अस्ति :

प्रथमं उद्घाट्यताम्ङिन्क्समुख्यविन्याससञ्चिका, प्रायः अत्र स्थिता/etc/nginx/nginx.confवा/usr/local/nginx/conf/nginx.conf .अस्मिन् सञ्चिकायां अस्माकं आवश्यकता अस्तिhttpखण्डस्य अन्तः योजयन्तु परिवर्तनं वा कुर्वन्तुserverभाग।

अस्तिserverblock, वयं a योजयिष्यामःlocationनिर्देशः यत् केषां अनुरोधानाम् अग्रे प्रेषणं कर्तव्यम् इति परिभाषितुंएससीजीआई सर्वरः ।यथा - यदि वयं सर्वाणि योजयितुम् इच्छामः/scgi/आरम्भे अनुरोधः स्थानीय-पोर्ट् 9000 इत्यत्र चालितं सर्वरं प्रति अग्रे प्रेष्यते ।एससीजीआईसर्वर, भवान् निम्नलिखितविन्यासस्य उपयोगं कर्तुं शक्नोति:

http {
    server {
        listen 80;
        server_name example.com;

        location /scgi/ {
            scgi_pass localhost:9000;
            include scgi_params;
        }
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

अस्मिन् विन्यासे .listen 80निर्देशाः वदन्तिङिन्क्सपोर्ट् ८० (मानकम्) इत्यत्र शृणुतएचटीटीपीपोताश्रय)।server_nameनिर्देशः डोमेननाम परिभाषयति यस्य प्रति अयं सर्वरखण्डः प्रतिक्रियां दातव्यः ।

location /scgi/block सर्वान् परिभाषयति/scgi/आरंभURL अनुरोधाः सर्वाणि संसाधितव्यानि।अस्य खण्डस्य अन्तः वयं उपयुञ्ज्महेscgi_passनिर्दिष्टुं आदेशःएससीजीआई सर्वरस्य पता, पोर्ट् च । अस्मिन् उदाहरणे .एससीजीआईसर्वरः एकस्मिन् एव यन्त्रे (localhost) ९००० बन्दरगाहस्य ।

include scgi_params;स्टेट्मेण्ट् मध्ये पूर्वनिर्धारितं विन्याससञ्चिका अस्ति, यत् इत्यस्य श्रृङ्खलां सेट् करोतिएससीजीआई पैरामीटर्।एते मापदण्डाः परिभाषयन्तिङिन्क्सकथंएचटीटीपीअनुरोधसूचना परिवर्तिता भवतिएससीजीआई पृच्छतु।सामान्यतया, एषा सञ्चिका स्थिता भवति/etc/nginx/scgi_paramsवा/usr/local/nginx/conf/scgi_params

यदि भवतःएससीजीआईसर्वरे अतिरिक्तमापदण्डाः आवश्यकाः सन्ति, येषां उपयोगः कर्तुं शक्यतेscgi_param सेट् कर्तुं आदेशः ।यथा, यदि भवन्तः सेट् कर्तुं प्रवृत्ताः सन्तिSCRIPT_FILENAMEमापदण्डाः एवं विन्यस्तुं शक्यन्ते ।

location /scgi/ {
    scgi_pass localhost:9000;
    include scgi_params;
    scgi_param SCRIPT_FILENAME /path/to/your/scripts$fastcgi_script_name;
}
  • 1
  • 2
  • 3
  • 4
  • 5

अत्र,SCRIPT_FILENAMEपैरामीटर् स्क्रिप्ट् इत्यस्य वास्तविकमार्गे सेट् भवति ।$fastcgi_script_nameइति कङिन्क्सअनुरोधितं लिपिनाम प्रतिनिधित्वं कुर्वन् चरः ।

यदि भवतःएससीजीआईसर्वरस्य उपयोगःयूनिक्सडोमेन सॉकेट् इत्यस्य स्थानेTCPपोर्ट् इत्येतत् एवं विन्यस्तुं शक्यते ।

location /scgi/ {
    scgi_pass unix:/tmp/scgi.socket;
    include scgi_params;
}
  • 1
  • 2
  • 3
  • 4

अस्मिन् उदाहरणे .ङिन्क्समार्गेण स्थितं भविष्यति/tmp/scgi.socketइत्यस्ययूनिक्सडोमेन सॉकेट सहएससीजीआईसर्वर संचार।

विन्यासस्य समाप्तेः अनन्तरं भवद्भिः पुनः लोड् कर्तव्यं पुनः आरभणीयम्ङिन्क्स परिवर्तनानां प्रभावाय। निम्नलिखित आदेशाः उपयोक्तुं शक्यन्ते ।

sudo nginx -s reload
  • 1

वा

sudo systemctl restart nginx
  • 1

एतत् मूलभूतं विन्यासं उपयोक्तुं भवतिscgi_pass उत्तमं आरम्भबिन्दुं प्रदाति। भवतः विशिष्टापेक्षानुसारं अधिकसमायोजनं अनुकूलनं च आवश्यकं भवेत् । यथा, भवद्भिः भारसन्तुलनार्थं बफरिंग्, समयसमाप्तिः, अपस्ट्रीम सर्वरसमूहः वा विन्यस्तः भवितुम् अर्हति । एतेषां विन्यासविकल्पानां विषये अनन्तरं अध्यायेषु विस्तरेण चर्चा कृता अस्ति ।

४.२ अपस्ट्रीम मॉड्यूलस्य उपयोगः

अस्तिङिन्क्स , अपस्ट्रीम मॉड्यूल् अस्मान् सर्वर्स् इत्यस्य समुच्चयं परिभाषितुं शक्नोति यस्य उपयोगः लोड् बैलेन्सिंग् तथा फेलओवर कृते कर्तुं शक्यते ।यदा सहscgi_passनिर्देशैः सह उपयोगे अपस्ट्रीम मॉड्यूल् बहु वर्धयितुं शक्यतेएससीजीआईएजेण्ट् लचीलापनं विश्वसनीयता च।

अपस्ट्रीम मॉड्यूलस्य मूलभूतवाक्यविन्यासः निम्नलिखितरूपेण अस्ति ।

upstream backend_name {
    server address1;
    server address2;
    # 更多服务器...
}
  • 1
  • 2
  • 3
  • 4
  • 5

अस्मिन् विन्यासे .backend_nameअस्य सर्वरसमूहस्य कृते भवता निर्दिष्टं नाम अस्ति, यत् पश्चात् उपयोक्तुं शक्यतेscgi_pass निर्देशे उद्धृतम् ।एकैकम्‌serverनिर्देशः पृष्ठभागसर्वरस्य पतां परिभाषयति, यत् भवितुम् अर्हतिIPपता प्लस् पोर्ट् नम्बर, यत् अपि भवितुम् अर्हतियूनिक्सडोमेन सॉकेट मार्ग।

यथा, वयं नामकं सञ्चिकां परिभाषितुं शक्नुमःscgi_serversअपस्ट्रीम समूहः : १.

upstream scgi_servers {
    server 127.0.0.1:9000;
    server 127.0.0.1:9001;
    server unix:/tmp/scgi.socket;
}
  • 1
  • 2
  • 3
  • 4
  • 5

अपस्ट्रीम परिभाषित्वा वयं शक्नुमःscgi_passनिर्देशे तस्य प्रयोगः - १.

location /app/ {
    scgi_pass scgi_servers;
    include scgi_params;
}
  • 1
  • 2
  • 3
  • 4

अतः,ङिन्क्सअनुरोधं वितरितं भविष्यतिscgi_serversसमूहे सर्वर्-इत्येतत् ।

अपस्ट्रीम मॉड्यूल् विविधानि भारसंतुलन-एल्गोरिदम्-प्रदानं करोति, यत् सर्वर-निर्देशस्य अनन्तरं मापदण्डान् योजयित्वा विन्यस्तुं शक्यते:

  1. गोल-रोबिन् (पूर्वनिर्धारितम्): प्रत्येकं सर्वरं प्रति अनुरोधं क्रमेण वितरन्तु ।

  2. भारितमतदानम् : भवान् प्रत्येकस्य सर्वरस्य कृते भारं निर्दिष्टुं शक्नोति यत् अधिकभारयुक्ताः सर्वराः अधिकानि अनुरोधाः प्राप्नुवन्ति । उदाहरणतया:

upstream scgi_servers {
    server 127.0.0.1:9000 weight=3;
    server 127.0.0.1:9001 weight=1;
}
  • 1
  • 2
  • 3
  • 4
  1. न्यूनतमसंयोजनानि : वर्तमानकाले सक्रियसंयोजनानां न्यूनतमसङ्ख्यायुक्तं सर्वरं प्रति अनुरोधं प्रेषयन्तु ।उपयुञ्जताम्‌least_connनिर्देशः : १.
upstream scgi_servers {
    least_conn;
    server 127.0.0.1:9000;
    server 127.0.0.1:9001;
}
  • 1
  • 2
  • 3
  • 4
  • 5
  1. IPहैशः ग्राहकस्य अनुसारम्IPसर्वरं चयनार्थं पतेः हैश-मूल्यं तस्मात् एव आगच्छति इति सुनिश्चितं कर्तुं शक्नोतिIP अनुरोधाः सर्वदा एकस्मिन् एव सर्वरे प्रेष्यन्ते (यावत् सः सर्वरः अनुपलब्धः नास्ति) ।उपयुञ्जताम्‌ip_hashनिर्देशः : १.
upstream scgi_servers {
    ip_hash;
    server 127.0.0.1:9000;
    server 127.0.0.1:9001;
}
  • 1
  • 2
  • 3
  • 4
  • 5

अपस्ट्रीम मॉड्यूल् सर्वर स्वास्थ्यपरीक्षणं, फेलओवरकार्यं च प्रदाति ।यथा - वयं उपयोक्तुं शक्नुमःmax_failsतथाfail_timeoutदोषपरिचयं विन्यस्तुं मापदण्डाः : १.

upstream scgi_servers {
    server 127.0.0.1:9000 max_fails=3 fail_timeout=30s;
    server 127.0.0.1:9001 max_fails=3 fail_timeout=30s;
}
  • 1
  • 2
  • 3
  • 4

अस्मिन् विन्यासे यदि कश्चन सर्वरः ३० सेकेण्ड् मध्ये पङ्क्तिबद्धरूपेण त्रिवारं विफलः भवति तर्हिङिन्क्सअनुपलब्धत्वेन चिह्नितं भविष्यति, अग्रिम ३० सेकेण्ड् यावत् तस्मै अधिकानि अनुरोधाः न प्रेषिताः भविष्यन्ति ।

तदतिरिक्तं वयं उपयोक्तुं शक्नुमःbackupबैकअप सर्वरं निर्दिष्टुं मापदण्डाः, येषां उपयोगः तदा एव भविष्यति यदा सर्वे प्राथमिकसर्वरः अनुपलब्धाः सन्ति:

upstream scgi_servers {
    server 127.0.0.1:9000;
    server 127.0.0.1:9001;
    server 127.0.0.1:9002 backup;
}
  • 1
  • 2
  • 3
  • 4
  • 5

अपस्ट्रीम मॉड्यूल् इत्यस्य सम्यक् उपयोगेन वयं अत्यन्तं उपलब्धं उच्चप्रदर्शनयुक्तं च निर्मातुम् अर्हतिएससीजीआई एजेण्ट् समूहः । एतेन न केवलं अनुप्रयोगस्य समग्रप्रदर्शने सुधारः भवति, अपितु प्रणाल्याः विश्वसनीयता, दोषसहिष्णुता च वर्धते । व्यावहारिक-अनुप्रयोगेषु अस्माभिः सर्वोत्तम-प्रणाली-प्रदर्शनं प्राप्तुं विशिष्ट-आवश्यकतानां परिदृश्यानां च आधारेण समुचित-भार-सन्तुलन-रणनीतयः, विफलता-तन्त्राणि च चयनीयानि

४.३ यूनिक्स सॉकेट् बनाम टीसीपी सॉकेट्

विन्यासेङिन्क्सइत्यस्यscgi_passdirective, अस्माकं निर्दिष्टुं मुख्यौ विकल्पौ स्तःएससीजीआईसर्वर-सङ्केतः : १.यूनिक्सडोमेन सॉकेट तथाTCP सॉकेट। उभयोः पद्धतयोः स्वकीयाः लाभाः हानिः च सन्ति, तथा च कः विधिः चयनीयः इति विशिष्टेषु अनुप्रयोगपरिदृश्येषु आवश्यकतासु च निर्भरं भवति ।

यूनिक्सडोमेन-सॉकेट् इति अन्तर-प्रक्रिया-सञ्चारस्य एकः प्रकारः (IPC ) तन्त्रं यत् एकस्मिन् यन्त्रे प्रक्रियाः कुशलतया संवादं कर्तुं शक्नुवन्ति ।अस्तिङिन्क्सविन्यासः, २.यूनिक्स डोमेन् सॉकेट् इत्यस्य पता प्रायः सञ्चिकामार्गरूपेण प्रतिनिधितः भवति । उदाहरणतया:

scgi_pass unix:/tmp/scgi.socket;
  • 1

उपयुञ्जताम्‌यूनिक्स डोमेन सॉकेट् इत्यस्य मुख्यं लाभं तेषां कार्यक्षमता अस्ति ।यतः संचारः एकस्मिन् यन्त्रे भवति तथा च जालप्रोटोकॉल-स्टैक्-द्वारा गन्तुं आवश्यकता नास्ति, अतःयूनिक्सडोमेन सॉकेट् प्रायः तः लघुः भवतिTCP सॉकेट् द्रुततराः भवन्ति।परिहरन्तिTCP/IP प्रोटोकॉलस्य कारणेन उत्पन्नः उपरिभारः, यथा दत्तांशपैकेट्-समूहस्य एन्कैप्सुलेशनं, डिकैप्सुलेशनं च, संजाल-जाम-नियन्त्रणम् इत्यादयः ।एतेन भवतियूनिक्सडोमेन सॉकेट् विशेषतया उपयुक्ताः सन्तिङिन्क्सतथाएससीजीआईसर्वरः एकस्मिन् एव यन्त्रे चाल्यते ।

अन्यः प्रयुङ्क्तेयूनिक्स डोमेन सॉकेट् इत्यस्य लाभः सुरक्षा अस्ति । यतः संचारः स्थानीययन्त्रे एव सीमितः भवति, अतः स्वाभाविकतया जालपुटस्य आक्रमणेभ्यः अप्रतिरक्षितः भवति । तदतिरिक्तं, सञ्चिकातन्त्रस्य अनुमतिः सॉकेट् सञ्चिकासु प्रवेशं नियन्त्रयितुं उपयोक्तुं शक्यते, सुरक्षायाः अतिरिक्तस्तरं प्रदातुं शक्यते ।

तथापि,यूनिक्स डोमेन सॉकेट् इत्यस्य अपि सीमाः सन्ति । अत्यन्तं स्पष्टतया, तेषां उपयोगः केवलं एकस्मिन् यन्त्रे अन्तरप्रक्रियासञ्चारार्थं कर्तुं शक्यते ।यदिङिन्क्सतथाएससीजीआईसर्वरः भिन्नयन्त्रे चालयितुं आवश्यकः, अतः तस्य उपयोगः कर्तुं न शक्यतेयूनिक्सडोमेन सॉकेट।

तस्य विपरीतम् .TCPसॉकेटस्य उपयोगःIP सर्वर-सङ्केतं निर्दिष्टुं पतां पोर्ट्-सङ्ख्यां च । उदाहरणतया:

scgi_pass 127.0.0.1:9000;
  • 1

TCP सॉकेट् इत्यस्य मुख्यं लाभं लचीलता अस्ति ।ते अनुमन्यन्तेङिन्क्सतथाएससीजीआई सर्वराः भिन्नयन्त्रेषु चाल्यन्ते, यत् वितरितप्रणालीनां अथवा अनुप्रयोगानाम् कृते आवश्यकं यस्य क्षैतिजमापनक्षमता आवश्यकी भवति ।उपयुञ्जताम्‌TCPsockets, वयं सहजतया लोड बैलेन्सिंग् कार्यान्वितुं शक्नुमः, बहुभ्यः अनुरोधं वितरितुं शक्नुमःएससीजीआईसर्वरः ।

अन्यः लाभः अस्ति यत्TCP सॉकेट् नेटवर्क्-स्तरीयं निरीक्षणं, त्रुटिनिवारणं च सुलभं करोति । मानकजालसाधनानाम् उपयोगेन वयं सहजतया संचारस्य स्थितिं पश्यितुं समस्यानां निदानं कर्तुं च शक्नुमः ।

तथापि,TCPसॉकेट् इत्यस्य मुख्यः दोषः अस्ति यत् कार्यक्षमता किञ्चित् न्यूनं भवतियूनिक्स डोमेन सॉकेट। एकस्मिन् यन्त्रे संवादं कुर्वन् अपि दत्तांशं सम्पूर्णजालप्रोटोकॉल-स्टैक्-द्वारा गन्तुं आवश्यकं भवति, यत् किञ्चित् अतिरिक्तं ओवरहेड् आनयिष्यति ।अतिरिक्तरूपेण प्रयोगःTCPसॉकेट् कृते अतिरिक्तसुरक्षाविचारानाम् आवश्यकता भवितुम् अर्हति, यथा अग्निप्रावरणनियमानाम् निर्धारणं, उपयोगेनSSL/TLS इतिएन्क्रिप्शन इत्यादि।

उपयोगं चयनं कुर्वन्यूनिक्सडोमेन सॉकेट् अद्यापिTCPसॉकेट्-उपयोगे निम्नलिखितकारकाणां विचारः करणीयः ।

  1. कार्यप्रदर्शनस्य आवश्यकताः : यदि भवान् उच्चतमप्रदर्शनस्य अनुसरणं करोति, तथा च...ङिन्क्सतथाएससीजीआईसर्वरः एकस्मिन् एव यन्त्रे अस्ति, तस्य चयनं कर्तव्यम्यूनिक्सडोमेन सॉकेट।

  2. परिनियोजन वास्तुकला: यदिङिन्क्सतथाएससीजीआईयदि सर्वरस्य भिन्नयन्त्रेषु चालनस्य आवश्यकता अस्ति अथवा भारसन्तुलनं प्राप्तुं आवश्यकता अस्ति तर्हि भवद्भिः अवश्यमेव उपयोगः करणीयःTCPसॉकेट।

  3. सुरक्षायाः आवश्यकताः : यदि सुरक्षा प्राथमिकचिन्ता अस्ति तथा च यन्त्रान्तरसञ्चारस्य आवश्यकता नास्ति तर्हियूनिक्सडोमेन सॉकेट् उत्तमः विकल्पः भवितुम् अर्हति ।

  4. मापनीयता : यदि प्रत्याशितम् अस्ति यत् भवतः आवश्यकता भवितुम् अर्हतिएससीजीआईसर्वरं बहुयन्त्रेषु स्केल कर्तुं, उपयोगं कुर्वन्तुTCPसॉकेट् स्कीमा ट्यून् कर्तुं सुकरं भविष्यति ।

  5. त्रुटिनिवारणं निरीक्षणं च आवश्यकताः : यदि भवन्तः निरीक्षणं त्रुटिनिवारणं च कर्तुं मानकजालसाधनानाम् उपयोगं कर्तुं प्रवृत्ताः सन्ति, तर्हिTCPसॉकेट् अधिकं उपयुक्ताः भवितुम् अर्हन्ति ।

संक्षेपेण, २.यूनिक्सडोमेन सॉकेट तथाTCP सॉकेट् सर्वे वैधविकल्पाः सन्ति । भवतः चयनं भवतः विशिष्टानि अनुप्रयोग-आवश्यकता, कार्य-प्रदर्शन-आवश्यकता, परिनियोजन-वातावरणं च आधारितं भवेत् ।बहुषु विशेषतः उच्चप्रदर्शनस्य अनुसरणसमये तथा...ङिन्क्सतथाएससीजीआईयदा एकस्मिन् यन्त्रे सर्वर्-सह-अस्तित्वं भवति तदायूनिक्स डोमेन सॉकेट् उत्तमः विकल्पः भवितुम् अर्हति । परन्तु यदि अधिकं लचीलापनं वा वितरितं परिनियोजनं वा आवश्यकं भवति तर्हिTCPसॉकेट् एकः अनिवार्यः विकल्पः अस्ति ।

5. scgi_pass इत्यस्य उन्नतविन्यासः

अस्मिन् अध्याये विस्तरेण चर्चा भविष्यतिscgi_passत्रयः प्रमुखाः उन्नतविन्यासपक्षाः: समयसमाप्तिसेटिंग्स्, बफरविन्यासः, संयोजनपूलप्रबन्धनं च ।

५.१ समयसमाप्तिसेटिंग्

समयसमाप्तिसेटिंग् सुनिश्चित्य अस्तिङिन्क्सतथाएससीजीआई सर्वराणां मध्ये संचारस्य विश्वसनीयतायाः कुञ्जी। समुचितसमयसमाप्तिविन्यासः यदि समस्या भवति तर्हि अनुरोधानाम् अनिश्चितकालं यावत् लम्बनं निवारयितुं शक्नोति, तथैव मन्दसंयोजनानां कृते पर्याप्तं संसाधनसमयं अपि प्रदातुं शक्नोति

ङिन्क्सबहुविधं प्रदातिscgi_passसम्बन्धित समयसमाप्तिनिर्देशाः : १.

सर्वप्रथमम्scgi_connect_timeout, यत् परिभाषयतिङिन्क्सतथाएससीजीआई सर्वरस्य संयोजनं स्थापयितुं अधिकतमः प्रतीक्षासमयः । यदि निर्दिष्टसमयान्तरे संयोगः स्थापयितुं न शक्यते ।ङिन्क्स त्रुटिं प्रत्यागमिष्यति। उदाहरणतया:

scgi_connect_timeout 60s;
  • 1

एतत् विन्यासः संयोजनसमयसमाप्तिम् ६० सेकेण्ड् इति सेट् करोति ।

द्वितीयं, २.scgi_read_timeoutनिर्दिष्टःङिन्क्सइत्यस्मात्‌एससीजीआई प्रतिक्रियाणां पठनार्थं सर्वरस्य समयसमाप्तिः ।यदिएससीजीआई अस्मिन् काले सर्वरेण किमपि दत्तांशं न प्रसारितम्, संयोजनं च बन्दं भविष्यति । उदाहरणतया:

scgi_read_timeout 60s;
  • 1

अन्ते, २.scgi_send_timeoutपूर्वमेव सेटअप कृतम् अस्तिङिन्क्सअभिमुखम्‌एससीजीआई सर्वरस्य अनुरोधं प्रेषयितुं समयसमाप्तावधिः ।यदि निर्दिष्टसमयान्तरेएससीजीआई सर्वरः किमपि दत्तांशं न प्राप्तवान्, संयोजनं च बन्दं भविष्यति। उदाहरणतया:

scgi_send_timeout 60s;
  • 1

एतानि समयसमाप्तिसेटिंग्स् वास्तविक-अनुप्रयोगस्य आवश्यकतायाः आधारेण समायोजितव्यानि । अधिकांशस्य अनुप्रयोगानाम् कृते पूर्वनिर्धारितमूल्यानि पर्याप्ताः सन्ति । परन्तु केषाञ्चन दीर्घकालीन-अनुरोधानाम् कृते एतानि समय-समाप्ति-मूल्यानि वर्धयितुं आवश्यकं भवेत् ।

५.२ बफरविन्यासः

अनुकूलनार्थं बफरविन्यासःङिन्क्सतथाएससीजीआई सर्वराणां मध्ये आँकडास्थापनं महत्त्वपूर्णम् अस्ति । उचितबफरसेटिंग्स् प्रतिक्रियावेगं सुधारयितुम् संसाधनस्य उपभोगं न्यूनीकर्तुं च शक्नुवन्ति ।

scgi_buffer_sizeपठनार्थं सेट् कर्तुं निर्देशाःएससीजीआई सर्वरस्य प्रतिक्रियायाः प्रथमभागस्य बफर आकारः । अस्मिन् प्रायः लघुप्रतिसादशीर्षकं भवति । उदाहरणतया:

scgi_buffer_size 4k;
  • 1

scgi_buffersपठनार्थं निर्देशाः परिभाषिताः सन्तिएससीजीआई सर्वरप्रतिसादानां कृते बफरानाम् संख्या आकारः च । उदाहरणतया:

scgi_buffers 8 4k;
  • 1

एतत् विन्यासः 4k आकारस्य 8 बफर्स् निर्माति ।

यदि प्रतिक्रिया सम्पूर्णतया स्मृतौ न उपयुज्यते तर्हि भवान् उपयोक्तुं शक्नोतिscgi_max_temp_file_sizeअस्थायीसञ्चिकानां अधिकतमं आकारं सीमितं कर्तुं निर्देशः : १.

scgi_max_temp_file_size 1024m;
  • 1

एतेन अस्थायीसञ्चिकानां अधिकतमः आकारः १०२४MB यावत् सीमितः भवति ।

बृहत् प्रतिक्रियाणां कृते भवन्तः उपयोक्तुं शक्नुवन्तिscgi_busy_buffers_sizeव्यस्तस्थितौ उपलब्धं बफर आकारं सीमितं कर्तुं निर्देशः:

scgi_busy_buffers_size 8k;
  • 1

एतानि बफरसेटिंग्स् इष्टतमप्रदर्शनार्थं भवतः अनुप्रयोगलक्षणानाम् आधारेण सर्वरसंसाधनानाञ्च आधारेण ट्यून् करणीयाः ।

५.३ संयोजनपूलप्रबन्धनम्

संयोजनपूलप्रबन्धनम् अनुकूलितं भवतिङिन्क्सतथाएससीजीआई सर्वराणां मध्ये संचारस्य अन्यः महत्त्वपूर्णः पक्षः । संयोजनानां पुनः उपयोगेन नूतनानां संयोजनानां स्थापनायाः उपरि व्ययः महत्त्वपूर्णतया न्यूनीकर्तुं शक्यते तथा च समग्ररूपेण कार्यप्रदर्शने सुधारः कर्तुं शक्यते ।

scgi_keepaliveअपस्ट्रीम विन्यस्तुं निर्देशःएससीजीआई सर्वरः अधिकतमं निष्क्रियसंयोजनानां संख्यां जीवितं स्थापयितुं शक्नोति । उदाहरणतया:

scgi_keepalive 10;
  • 1

एतत् विन्यासः प्रत्येकं श्रमिकप्रक्रियायाः १० निष्क्रिय-कीप-लाइव-संयोजनानि यावत् निर्वाहयितुं शक्नोति ।

उपयोक्तुं शक्नोतिscgi_http_versionनिर्दिष्टुं आदेशःङिन्क्ससह प्रयुक्तम्एससीजीआईसर्वर संचारएचटीटीपीप्रोटोकॉल संस्करणम् : १.

scgi_http_version 1.1;
  • 1

उपयुञ्जताम्‌एचटीटीपी/१.१दीर्घायुषः संयोजनानि सक्षमानि कर्तुं शक्यन्ते, यत् संयोजनकुण्डस्य कार्यक्षमतां निर्वाहयितुम् महत्त्वपूर्णम् अस्ति ।

तदतिरिक्तं उपयोक्तुं शक्यतेscgi_next_upstreamकेषु परिस्थितिषु अनुरोधाः अग्रिमसर्वरं प्रति प्रसारिताः भवेयुः इति नियन्त्रयितुं निर्देशाः:

scgi_next_upstream error timeout invalid_header http_500;
  • 1

एतत् विन्यासं निर्दिशति यत् यदा त्रुटिः भवति, समयसमाप्तिः भवति, अमान्यशीर्षकं प्राप्यते, अथवा...एचटीटीपी ५०० दोषे अनुरोधः अग्रिमसर्वरं प्रति पारितव्यः ।

6. पायथन् फ्लप् जालनियोजनप्रकरणम्

लिखितव्यः

6.1 सोपानसारांशः

6.2 पात्रनियोजनम्

7. सारांशः

अस्मिन् लेखे विस्तरेण चर्चा कृता अस्तिङिन्क्समध्यंscgi_passनिर्देशानां प्रयोगः, विशेषतया ध्यानं दत्त्वाअजगर अनुप्रयोगविन्यासः परिनियोजनं च।वयं प्रथमं परिचयं कृतवन्तःएससीजीआईततः प्रोटोकॉलस्य लक्षणं लाभं च गभीरतया व्याख्यातं ।scgi_pass निर्देशानां कृते मूलभूतवाक्यविन्यासः उन्नतविन्यासविकल्पाः च ।व्यावहारिकप्रकरणानाम् माध्यमेन कथं करणीयम् इति दर्शयन्तुअजगर फ्लुपफ्रेम विन्यासscgi_pass, यत्र मूलभूतसेटिंग्स्, लोड् बैलेन्सिङ्ग्, कनेक्शन् पूलिंग्, बफर प्रबन्धन च सन्ति ।