Nginx + MySQL + PHP5 + APC + Spawn_FastCGI [1 भाग: प्रस्तुति] के साथ एक वेब सर्वर कैसे स्थापित करें

अभी कुछ समय पहले हमने इसका उल्लेख किया था DesdeLinux (todos sus servicios) están funcionando en GNUTransfer.com सर्वर। जब हम जाते हैं, तब भी ब्लॉग ने गति, तरलता के मामले में बहुत सुधार किया है (UsemosLinux विलय के बाद) हर दिन 30.000 से अधिक विज़िट (लगभग 200 उपयोगकर्ता एक साथ जुड़े)। यातायात की इस मात्रा के साथ भी अच्छा सर्वर प्रदर्शन कैसे प्राप्त करें?

वर्तमान में न्यायमूर्ति (VPS जहां ब्लॉग और कुछ अन्य सेवा हैं) में 3GB RAM है, हालाँकि 500MB से कम खपत होती है, यह संभव है कि सॉफ्टवेयर का सही विकल्प और उनमें पर्याप्त विन्यास हो। उदाहरण के लिए, अपाचे निस्संदेह दुनिया में एक महान है, नंबर 1 जब यह होस्टिंग की बात आती है, लेकिन ठीक उसी कारण से अपाचे हमेशा सबसे अच्छा विकल्प नहीं होता है। जब ट्रैफ़िक अधिक होता है और सर्वर हार्डवेयर वास्तव में बड़ा नहीं होता है (उदाहरण: 8 या 16GB RAM) Apache अच्छी तरह से बहुत अधिक रैम का उपभोग कर सकता है, तो निश्चित समय पर सर्वर को प्रतिक्रिया देने में बहुत अधिक समय लगता है, या इससे भी बुरा यह है कि हमारी साइट ऑफ़लाइन है अपर्याप्त संसाधन। यही कारण है कि हम में से कई अपाचे पर नग्नेक्स चुनते हैं।

nginx:

हमने आपको पहले ही लेख में नग्नेक्स के बारे में बताया था नेग्नेक्स: अपाचे के लिए एक दिलचस्प विकल्प, वहां हमने आपको बताया था कि यह अपाचे, लाइटएचटीपीडी या चेरोकी जैसा एक वेब सर्वर है, लेकिन अपाचे की तुलना में यह अपने प्रदर्शन और कम हार्डवेयर खपत के लिए खड़ा है, यही कारण है कि फेसबुक, मायओपेरा.कॉम, ड्रॉपबॉक्स या यहां तक ​​कि वर्डप्रेस जैसी कई बड़ी साइटें हैं। .com अपाचे के बजाय Nginx का उपयोग करें। लिनक्स की दुनिया में DesdeLinux यह एकमात्र ऐसा नहीं है जो Nginx का उपयोग करता है, जहां तक ​​मुझे पता है, emsLinux और MuyLinux भी इसका उपयोग करते हैं :)

नगनेक्स के साथ मेरा व्यक्तिगत अनुभव कई साल पहले का है, जब आवश्यकता से बाहर मैंने अपाचे के लिए हल्के विकल्पों की तलाश शुरू कर दी थी। उस समय Nginx संस्करण 0.6 के लिए जा रहा था और PHP में बनाए गए उच्च मांग साइटों के साथ इसकी संगतता सबसे इष्टतम नहीं थी, हालांकि आज संस्करण 0.9 से आगे (डेबियन स्टेबल पर उपलब्ध v1.2.1, आर्कलिन पर उपलब्ध v1.4.2) ने बहुत सुधार किया है, इस बिंदु पर कि नगिनक्स + पीएचपी के एक उचित विन्यास और संघ के साथ सब कुछ एक आकर्षण की तरह काम करेगा।

इस ट्यूटोरियल श्रृंखला में मैं Nginx संस्करण 1.2.1-2.2 का उपयोग करूंगा, डेबियन स्थिर रेपो (व्हीज़ी) में उपलब्ध है।

PHP5:

PHP, वह प्रोग्रामिंग भाषा जो आज के साथ कई साइटें (और CMS) काम करती हैं, मेरे विचार में, परिवार की काली भेड़ें हैं। अर्थात्, मेरे व्यक्तिगत अनुभव में, बड़ी साइट्स, विज़िट की एक बड़ी मात्रा के साथ, कई विकल्प, फ़ंक्शंस आदि के साथ, अगर ऐसी साइट PHP में बनाई गई है तो यह एक समान साइट की तुलना में अधिक संसाधनों का उपभोग करेगी, उदाहरण के लिए, RoR। मेरा अनुभव है कि लोगों, PHP एक विशाल संसाधन ड्रैगन है, PHP + अपाचे एक वास्तविक आवश्यकता के बिना सैकड़ों और सैकड़ों एमबी रैम को निगलने के लिए पर्याप्त है।

El por qué de no usar RoR, Django o algún otro es simplemente que DesdeLinux (el blog, nuestro buque insignia) funciona con WordPress, un CMS desarrollado con PHP que nos ofrece tantas pero tantas comodidades, que simplemente no pensamos cambiarlo en corto o mediano plazo, honestamente, WordPress aún cuando no es perfecto nos sirve para lo que necesitamos y tal vez más.

PHP के बारे में, इन ट्यूटोरियल्स में मैं उपयोग करूँगा PHP संस्करण 5.4.4-14 डेबियन व्हीज़ी (स्थिर) पर उपलब्ध

स्पॉन_फास्टसीजीआई:

यह कहा जा सकता है कि क्या PHP के साथ Nginx को एकजुट करता है, अर्थात्, भले ही उनके पास PHP5 पैकेज स्थापित हो, अगर उनके पास Spawn_FastCGI स्थापित नहीं है और निष्पादित किया जाता है जब वे PHP में एक साइट खोलते हैं तो ब्राउज़र फ़ाइल डाउनलोड करेगा, यह उन्हें कुछ भी नहीं दिखाएगा कि .php को प्रोग्राम किया गया है क्योंकि सर्वर को .php फ़ाइलों को प्रोसेस करने का तरीका नहीं पता है, यही वजह है कि Spawn_FastCGI को इंस्टॉल और कॉन्फ़िगर करना आवश्यक है।

यदि हमने Apache का उपयोग किया है तो यह libapache2-mod-php5 पैकेज को स्थापित करने के रूप में कुछ सरल होगा लेकिन चूंकि हम Nginx का उपयोग करते हैं, इसलिए हमें इसके बजाय स्पॉन-एफसीजी पैकेज स्थापित करना होगा। इसके अलावा, ट्यूटोरियल में मैं समझाऊंगा कि इसके लिए एक प्रारंभिक स्क्रिप्ट /etc/init.d/ में कैसे बनाएं ताकि आप इसे और अधिक आराम से नियंत्रित कर सकें।

माई एसक्यूएल:

यह बड़ा प्रश्न चिह्न हो सकता है या शायद, कुछ के लिए, कलहपूर्ण नोट। मुझे पता है कि कई लोग मुझसे सवाल पूछेंगे: MySQL का उपयोग क्यों करें और मारियाडीबी का नहीं?

El asunto es simplemente que no tengo el tiempo suficiente para dedicarme a hacer una migración en este momento de MySQL a MariaDB, migración que en teoría debería ser transparente para todos, 100% compatible todo, pero eso es… como dije, en teoría. En el momento en que empecé a mover servicios de DesdeLinux de un VPS hacia otro tuve que dejar atrás a Apache y usar Nginx, esto implicaba archivos de configuración distintos, diferentes maneras de declarar VHosts, instalación y configuración desde cero del servidor y sus servicios, no podía en ese momento sumar otra tarea más a la lista, además y siendo honestos, cambié Apache por Nginx porque Apache no me satisfacía mis necesidades, no obstante, MySQL hasta el momento me satisface mis necesidades al 100%, no veo motivos para en ese momento yo aumentar mi carga de trabajo cambiando algo que ya me funcionaba técnicamente bien.

एक बार समझाया गया कि मैंने मारबीडीबी क्यों नहीं स्थापित किया, यह भी समझाएं कि चूंकि अधिकांश वेबसाइटों को अपने संचालन के लिए डेटाबेस की आवश्यकता होती है, क्योंकि यह वह जगह है जहां बहुत सारी जानकारी (या लगभग सभी) संग्रहीत की जाएगी। कुछ ऐसे हैं जो पोस्टग्रे या किसी और को पसंद करते हैं, ट्यूटोरियल की इस श्रृंखला में मैं बताऊंगा कि कैसे MySQL स्थापित करें और प्रत्येक साइट के लिए अलग-अलग उपयोगकर्ताओं को कॉन्फ़िगर करें.

La MySQL संस्करण है कि मैं उपयोग करेंगे v5.5.31 है

एपीसी:

APC PHP के लिए एक अनुकूलक है (बहुत सरल रूप से समझाया गया है)। यह हमें एक बार ठीक से कॉन्फ़िगर करने की अनुमति देता है कि PHP प्रसंस्करण बेहतर काम करता है, जिससे सर्वर से प्रतिक्रियाएं तेज होती हैं।

हालांकि मेमेचे जैसे विकल्प हैं, मैंने हमेशा एपीसी का उपयोग किया है और इसके बहुत अनुकूल परिणाम आए हैं। मैं इस लेख को अंग्रेजी में पढ़ने की सलाह देता हूं: एपीसी और मेमेचे की तुलना स्थानीय सामग्री कैश के रूप में की जाती है

मैं ट्यूटोरियल में संस्करण का उपयोग करूंगा php-एपीसी v3.1.13-1 डेबियन स्थिर रेपो में भी उपलब्ध है।

समूहीकरण:

वेब सर्वर कॉन्फ़िगरेशन को स्थापित करने का यह तरीका सबसे इष्टतम नहीं है, इससे बहुत दूर है, उदाहरण के लिए, कई वार्निश की सिफारिश करेंगे, जो मैंने पढ़ा है वह सही चमत्कार करता है क्योंकि सब कुछ या लगभग सब कुछ कैश है, लेकिन, हमारे मामले में हमें इसकी आवश्यकता नहीं है साइट का 100% हमेशा कैश किया जाता है क्योंकि हम उस चरम पर नहीं जाना चाहते हैं या नहीं चाहते हैं। हालांकि, मैं स्पष्ट करता हूं, जैसा कि मैंने ऊपर कहा था: "जहां तक ​​मैंने पढ़ा है", मैंने व्यक्तिगत रूप से आज तक वार्निश का उपयोग नहीं किया है, इसलिए मैं आपको 100% उद्देश्य राय नहीं दे सकता।

Esto será una serie de tutoriales en los cuales les mostraré cómo instalar un servidor web como el que tiene hostedo en este minuto a DesdeLinux (blog, foro, paste, etc). El blog cuenta con 30.000 visitas cada día, casi 200 usuarios accediendo al mismo de forma simultánea, y aún así la RAM no sobrepasa los 500MB consumidos, esto para algunos puede ser un consumo excesivo pero… eh, tenemos 3GB de RAM, menos de 500MB (que incluyen servicio FTP, SSH, etc) está realmente bien no? 🙂

सभी 'जादू' न केवल Nginx + Spawn_FastCGI + APC द्वारा किए जाते हैं, हमारा ब्लॉग कैश सिस्टम वास्तव में अच्छी तरह से कॉन्फ़िगर किया गया है और Nginx के लिए नियम सटीक हैं, यह तब भी ब्लॉग बनाता है जब यह बहुत अधिक ट्रैफ़िक प्राप्त करता है, जो PHP की तुलना में बहुत कम PHP प्राप्त करता है हमेशा की तरह, यह पहले से ही कैश्ड है। यदि आपके पास एक उच्च मांग साइट है और संसाधन समस्याएं हैं, तो मैं बिना किसी संदेह के सलाह देता हूं कि आप यह देखने के लिए अध्ययन करते हैं कि कौन सा कैश सिस्टम आपके लिए सबसे अच्छा काम करेगा, जो आपकी आवश्यकताओं के अनुसार सबसे अच्छा होगा।

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

सादर


अपनी टिप्पणी दर्ज करें

आपका ईमेल पता प्रकाशित नहीं किया जाएगा। आवश्यक फ़ील्ड के साथ चिह्नित कर रहे हैं *

*

*

  1. डेटा के लिए जिम्मेदार: मिगुएल elngel Gatón
  2. डेटा का उद्देश्य: नियंत्रण स्पैम, टिप्पणी प्रबंधन।
  3. वैधता: आपकी सहमति
  4. डेटा का संचार: डेटा को कानूनी बाध्यता को छोड़कर तीसरे पक्ष को संचार नहीं किया जाएगा।
  5. डेटा संग्रहण: ऑकेंटस नेटवर्क्स (EU) द्वारा होस्ट किया गया डेटाबेस
  6. अधिकार: किसी भी समय आप अपनी जानकारी को सीमित, पुनर्प्राप्त और हटा सकते हैं।

  1.   ब्रूनो कैसियो कहा

    बहुत अच्छा और स्पष्ट! मैं आपको बधाई देता हूं!

    1.    KZKG ^ गारा कहा

      धन्यवाद

  2.   क्रिस्टोफर कास्त्रो कहा

    बहुत अच्छा ट्यूटोरियल।

    मुझे संदेह से भर देता है कि वे ईमेल सर्वर को कैसे कॉन्फ़िगर करते हैं।

    1.    KZKG ^ गारा कहा

      MailServer कुछ अलग है, अर्थात, इसका वेब सर्वर से कोई लेना-देना नहीं है जैसा कि आप जानते हैं is

      हालांकि, एक लंबे समय से पहले मैंने खुद को मेलसेवर के साथ जटिल नहीं करने का फैसला किया, मैंने iRedMail (MySQL, LDAP और Postgre के लिए समर्थन) और उचित सेटिंग्स और विवरणों के साथ चुना जो मैं कॉन्फ़िगरेशन फ़ाइलों में जोड़ता हूं, सब कुछ ठीक काम करता है।

  3.   rots87 कहा

    मुझे लेख पसंद है, मैं लेखों की श्रृंखला की प्रतीक्षा कर रहा हूं

    1.    KZKG ^ गारा कहा

      धन्यवाद, मुझे उम्मीद है कि अगले एक को सोमवार या मंगलवार को लाया जाएगा, यह निग्नेक्स इंस्टॉलेशन और कॉन्फ़िगरेशन से निपटेगा।

  4.   aca कहा

    बहुत अच्छा, सही कॉन्फ़िगरेशन, इसे ढूंढना मुश्किल है, कारकों के बीच समझौता कभी-कभी लगभग न के बराबर होता है, मैं थोड़ी देर पहले और बाद में मरियादब (हाल ही में, एक साल पहले के बारे में सोचता हूं) भी गया था।

    // जैसा कि मैंने उल्लेख किया है, यह अच्छा होगा यदि आप चेरोट की संभावना बढ़ाते हैं, और प्रॉक्सी_कैच_पाठ का उपयोग करें जो कि उपयोगी है। पोर्ट के खिलाफ सॉकेट की तुलना (उन मामलों में जो यह संभव है)। और बच्चों / राम की संख्या को अच्छी तरह से परिभाषित करें।

    सादर

    1.    KZKG ^ गारा कहा

      आपकी टिप्पणी के लिए धन्यवाद 🙂
      हां, यह बहुत अच्छा होगा कि इसे सिस्टम के बाकी हिस्सों से अलग रखने के लिए निग्नेक्स को पिंजरे में रखना बहुत अच्छा होगा, मैंने इन ट्यूटोरियल में उस संभावना पर विचार नहीं किया था, मैं देखूंगा कि मैं क्या कर सकता हूं। प्रॉक्सी_कैचे_पथ के बारे में, मैंने इसका कभी उपयोग नहीं किया है, मैं इसके बारे में थोड़ा पढ़ूंगा कि यह कैसे जाता है।

      थ्रेड्स की संख्या (न्यूनतम और अधिकतम) के बारे में, नेग्नेक्स कॉन्फ़िगरेशन में यह स्पष्ट रूप से परिभाषित है, नेग्नेक्स पोस्ट में मैं .conf फ़ाइल के बारे में बहुत बात करूंगा।

      फिर से, आपकी टिप्पणी के लिए धन्यवाद।

  5.   MSX कहा

    इस प्रकार का हॉव्टोस कंप्यूटर वैज्ञानिकों के लिए वेब को वास्तव में शक्तिशाली बनाता है क्योंकि यह हमें कई घंटों के शोध और परीक्षण के लिए बचाता है जब तक कि हम अंत में उचित विकल्प पर निर्णय नहीं लेते हैं, बहुत बहुत धन्यवाद!

    एक सवाल, क्या यह डेबियन पर चलता है? ओएस और संकुल का क्या संस्करण?

    नमस्ते!

    1.    KZKG ^ गारा कहा

      शुक्रिया.
      वास्तव में, साइटें जो रिपोर्ट करती हैं, वह दोहराती हैं और समाचार दोहराती हैं कि पहले से ही बहुत सारे हैं ... क्या जरूरत है साइटें जो ट्यूटोरियल डालती हैं, यही वेब की जरूरत है!

      हां, डेबियन व्हीज़ी (वर्तमान स्थिर), संकुल के संस्करण पोस्ट e में वहीं हैं

  6.   एलियोटाइम३००० कहा

    बहुत बढ़िया टिप्पणी। आइए देखें कि क्या मैं ZPanel X के साथ एक तरह का इरेटा करता हूं, और संयोग से, डेबियन व्हीजी में मैन्युअल रूप से इंस्टॉलेशन करते हैं।

  7.   फेडेरिको एंटोनियो वाल्देस टोजाग कहा

    आगे बढ़ो KZKG ^ Gaara !!!, कि सत्य का सर्वश्रेष्ठ मानदंड अभ्यास है, और आप जो लिखते हैं उसके बारे में आपको अनुभव है। एक पेशेवर और कामकाजी वेबसाइट। मेजर लीग बेसबॉल, यार।

    1.    एलियोटाइम३००० कहा

      यह सच है। इसके अलावा, जब मैंने विंडोज में स्थापित वेब सर्वर के साथ खेलना शुरू किया, तो सच्चाई यह है कि अपाचे संसाधन खपत के मामले में शूट करता है यदि आप वर्डप्रेस का उपयोग करते हैं (Drupal में यह आधे संसाधनों का उपभोग करता है)।

  8.   गाड़ी कहा

    मुझे लगता है कि Nginx भाग के लिए यह ट्यूटोरियल काम में आने वाला है। मैं अब Nginx, php, Varnish और MariaDB के साथ एक सर्वर स्थापित करना चाहता हूं। लेकिन निश्चित रूप से, आपको शुरू करना होगा, और आलस बहुत कुछ कर सकता है जब यह सर्वर से लड़ने की बात आती है और इस समय मैं विशिष्ट दीपक और मेकचे से खुश हूं कि मेरे पास एक्सडीडी है।

    एक ग्रीटिंग.

  9.   ऑरोज़्ज़क्स कहा

    महान, इनमें से सिर्फ एक काम आएगा forward दूसरे को इसके लिए तत्पर हैं।

  10.   इवान गैब्रियल सोसा कहा

    हम आपका अनुसरण करते हैं। वर्तमान में हम वेब सर्वर की दुनिया में शुरुआत कर रहे हैं। हमने Hostinger से दो खरीदे, और एक दोस्त ने हमें इसे खरोंच (PHP, MySQL, Apache) से कॉन्फ़िगर करने में मदद की। यह एकमात्र संयोजन है जिसका उपयोग लिनक्स में किया जाता है, एक ऐसा प्लेटफ़ॉर्म जो मैं जनवरी से चला रहा हूं।
    लेकिन मुझे इस विषय में बहुत दिलचस्पी थी। चियर्स!

  11.   जोस मैनुअल कहा

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

    1.    एलियोटाइम३००० कहा

      सच्चाई यह है कि डेटाबेस सर्वर को संभालने में सक्षम होने के लिए बहुत अधिक ज्ञान की आवश्यकता नहीं है। जो पहले से ही उस अनुभव की कोशिश करता है वह आपको बताता है।

  12.   मॉरिशस कहा

    नमस्कार, यह बहुत अच्छा है कि आप इस श्रृंखला की पोस्ट के साथ क्या करने जा रहे हैं।

    मैंने हाल ही में Nginx + Php Fastcgi + Mariadb स्थापित किया है। Nginx।

    यह सब, मैंने आर्कलिनक्स में किया था, क्योंकि यह वितरण मेरे दृष्टिकोण से केवल एक ही है, जो दूसरों की तरह अच्छाई नहीं लाता है। मैंने इसे एक बंद वातावरण में डाल दिया और इसने मुझे पूरी तरह से काम करने के लिए बहुत असुविधा दी।

    अब यह पूरी तरह से काम कर रहा है। यद्यपि मुझे आपकी राय जानने में दिलचस्पी है, बच्चों और पिता की प्रक्रियाओं के बारे में, आप मुझे जितना अधिक सुझाव देंगे, उतना बेहतर होगा।

    यह सब सिर्फ अभ्यास के लिए है।
    उपकरण में 4GB DDR2 रैम और एक 2Ghz कोर 2.4duo प्रोसेसर है।

    अभिवादन और मैं इस श्रृंखला के आगामी पदों के लिए तत्पर हैं।

  13.   kas कहा

    200 उपयोगकर्ता एक साथ जुड़े?
    केवल दिन के निश्चित समय पर ही सही? क्योंकि अन्यथा यह उन 30.000 दैनिक यात्राओं को पार कर जाता है।

    1.    KZKG ^ गारा कहा

      हां, निश्चित रूप से, हमेशा 200 लोग ऑनलाइन नहीं होते हैं, इस समय लगभग 40 हैं क्योंकि यह अभी भी शुरुआती है, कुछ घंटों में वे 100 से अधिक हो जाएंगे।

  14.   घनाकार कहा

    बस मज़े के लिए मैंने अपने कार्य केंद्र (अभी सिम्फनी 2) पर हल्के से नग्नेक्स में स्विच किया, मैंने यहाँ से [1], बहुत सरल को लिया।

    [1] http://ihaveabackup.net/2012/11/17/nginx-configuration-for-symfony2

  15.   Apr4xas कहा

    इस ation की निरंतरता की प्रतीक्षा है

    1.    KZKG ^ गारा कहा

      इस सप्ताह मुझे इसे अवश्य प्रकाशित करना चाहिए, हमें पढ़ने के लिए धन्यवाद it

      1.    स्वास्थ्य कहा

        तथा? बहुत कुछ याद आ रहा है

  16.   डीन कहा

    अच्छी पोस्ट…

  17.   नोएल IVAN कहा

    सुसंध्या।
    एक स्कूल प्रोजैक्ट के विनिर्देशों के लिए, मुझे ओपेक में ओएनजीएनडेल में एनजीआईएनएक्सएल में इनस्टॉल करना है। एमआर वीआईआरटीयूएलएक्स में ओआरएफ का उपयोग करने के लिए PHP, MYSQL, AMONG OTHERS, नाडामास का उपयोग करने के बारे में पता नहीं है, जो मुझे सूचना देने के लिए उपलब्ध नहीं है। हो गया है प्रचारित।