Nginx + MySQL + PHP5 + APC + Spawn_FastCGI [4th Part: Nginx + PHP with SpawnFastCGI] के साथ वेब सर्वर कैसे स्थापित करें

कुछ समय पहले मैंने आपको ट्यूटोरियल की इस श्रृंखला के बारे में बतायापर उच्च मांग होस्टिंग के लिए एक सर्वर को कैसे स्थापित करें और कॉन्फ़िगर करें। यह लेख स्थापित करने और कॉन्फ़िगर करने के बारे में होगा नेग्नेक्स + पीएचपी साथ स्पॉनफैस्टसीजीआई:

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

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

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

1. स्थापना:

हम पहली चीज के साथ शुरू करेंगे, हमारे रिपॉजिटरी से स्पॉन-फास्टसीजीआई और पीएचपी स्थापित करेंगे।

निष्पादित होने वाली सभी कमांड को रूट अनुमतियों के साथ निष्पादित किया जाता है, या तो प्रत्येक पंक्ति की शुरुआत में sudo लगाकर या रूट में लॉग इन करके

यदि आपके सर्वर पर आप वितरण का उपयोग करते हैं जैसे कि डेबियन, उबंटू या टर्मिनल में कुछ व्युत्पन्न, तो आपको निम्नलिखित डालना चाहिए और दबाएं दर्ज :

aptitude install spawn-fcgi php5-cgi php5-curl

उबंटू में डिफ़ॉल्ट रूप से एप्टीट्यूड स्थापित नहीं किया गया है, हालांकि मेरा सुझाव है कि आप इसे स्थापित करें और इसे एप्ट-गेट के बजाय उपयोग करें, क्योंकि एप्टीट्यूड कुछ अवसरों पर निर्भरता का बेहतर प्रबंधन करता है।

व्यक्तिगत रूप से, मैं डेबियन के किसी भी व्युत्पन्न की सिफारिश नहीं करता हूं, सर्वरों के लिए भी उबंटू नहीं, वर्षों से मेरे अनुभव पूरी तरह से संतोषजनक नहीं हैं। सर्वर ऑपरेटिंग सिस्टम के लिए मेरी पहली पसंद डेबियन है, फिर मैं सेंटोस के बारे में सोचूंगा, आखिरकार कुछ बीएसडी

2. विन्यास:

पिछले चरण में (जब हमने Nginx स्थापित किया था) हमने nginx-spawn-fastcgi.tar.gz नामक एक फ़ाइल डाउनलोड की थी, जब unzipped जब हमने अपने घर में फ़ोल्डर nginx-spawn-fastcgi बनाया, तो हम उससे फ़ाइल की प्रतिलिपि बनाएँगे spawn-fastcgi से /etc/init.d/:

cp ~/nginx-spawn-fastcgi/spawn-fastcgi /etc/init.d/

इसके अलावा, हमें php-fastcgi निष्पादन योग्य / usr / bin / की आवश्यकता है

cp ~/nginx-spawn-fastcgi/php-fastcgi /usr/bin/

बिल्कुल सही, हमारे पास फाइल तैयार है जो हमें स्पॉन-फास्टसी को नियंत्रित करने की अनुमति देगी और पीएचपी-फास्टसीजी निष्पादन योग्य भी होगी, अब हम स्पॉन-फास्टसीजी शुरू करने जा रहे हैं:

/etc/init.d/spawn-fastcgi start

यह हमें कुछ इस तरह दिखाएगा: स्पॉन-एफसीजी: बच्चा सफलतापूर्वक पैदा हुआ: पीआईडी: 3739

अब हम अपनी /etc/nginx/sites-available/mywebsite.net फ़ाइल को ~ / nginx-spawn-fastcgi / mywebsite_plus_php.net से बदलने जा रहे हैं

cp ~/nginx-spawn-fastcgi/mywebsite_plus_php.net /etc/nginx/sites-available/mywebsite.net

क्यों? सरल, क्योंकि हमारी पिछली mywebsite.net फ़ाइल में PHP के लिए समर्थन नहीं है, अर्थात, यह केवल Nginx है, जबकि फ़ाइल mywebsite_plus_php.net में PHP के लिए समर्थन है, अर्थात, Nginx + PHP का उपयोग SpawnstastCGI।

इन फ़ाइलों के बीच अंतर कई हैं, उदाहरण के लिए:

  • पंक्ति 3 में PHP का समर्थन करने वाली फ़ाइल को index.php जोड़ा गया है
  • No.3 के तहत एक नई लाइन जिसमें शामिल हैं: fastcgi_index index.php;
  • कई अन्य नई लाइनें जो Nginx को बताती हैं कि कैसे PHP को प्रोसेस करना है।
  • … .. संक्षेप में, यहां एक फोटो है जो आपको दोनों फाइलों के बीच अंतर जानने में मदद करेगी:

nginx_mysql_spawn-fastcgi_comparing_mywebsite_confs

Mywebsite_plus_php.net फ़ाइल एक vhost है जो एक उदाहरण के रूप में कार्य करता है, अर्थात्, और दूसरे शब्दों में, हमें इसे संशोधित करना चाहिए और हमारे कॉन्फ़िगरेशन स्थापित करना चाहिए।

हमें निम्नलिखित को बदलना चाहिए:

  • access_log (पंक्ति 3): यह इस साइट पर पहुंच लॉग फ़ाइल का पथ होगा
  • error_log (पंक्ति 4): यह इस साइट पर त्रुटि लॉग फ़ाइल का पथ होगा
  • सर्वर_नाम (पंक्ति 5): यूआरएल, डोमेन जो उस फ़ोल्डर में होस्ट किया गया है, उदाहरण के लिए, यदि यह फोरम होता DesdeLinux यह होगा: फोरम सर्वर_नाम।desdelinuxनेट.
  • रूट (लाइन 6): उस फ़ोल्डर का पथ जहां html फाइलें हैं, चलो इसे / var / www / में छोड़ दें क्योंकि यह केवल एक परीक्षा होगी
जाहिर है वे अपने होस्टिंग प्रदाता (CPanel या किसी अन्य उपकरण का उपयोग करके) के अपने DNS रिकॉर्ड्स में इंगित कर रहे होंगे कि server_name में घोषित डोमेन या उपडोमेन इस सर्वर के आईपी पर स्थित है जो वे कॉन्फ़िगर कर रहे हैं। अर्थात्, DNS में जहां वे अपने डोमेन के लिए उप-डोमेन बनाते हैं, उन्हें यह घोषित करना होगा कि उन्होंने जिस डोमेन या उप-डोमेन को 5 पंक्ति में रखा है, वह इस सर्वर पर स्थित है (यह सर्वर = प्रश्न में सर्वर का आईपी पता)

तैयार है, अब हम Nginx को पुनः आरंभ करेंगे:

/etc/init.d/nginx restart

यह सत्यापित करने के लिए कि हमारे नगनेक्स ने PHP को ठीक से संसाधित किया है, कृपया फ़ाइल को होस्ट किए गए फ़ोल्डर में phptest.php की प्रतिलिपि बनाएँ, अर्थात, mywebsite_plus_php.net फ़ाइल (उदाहरण के लिए, रूट / var / www /) की पंक्ति संख्या 6 में इंगित किया गया है, यह मानते हुए कि साइट सीधे / var / www / में होस्ट की गई है:

cp ~/nginx-spawn-fastcgi/phptest.php /var/www/

यह मानकर कि हमारे mywebsite_plus_php.net (अर्थात, server_name लाइन) की लाइन 5 में हमने कहा है कि हमारी साइट www.mysite.net है तो हमें www.mysite.net/phptest.php पर पहुंचना होगा। दूसरे शब्दों में, हमारे ब्राउज़र से फ़ाइल phptest.php को एक्सेस करने का विचार है और यदि निम्नलिखित प्रकट होता है तो हमारा Nginx PHP के साथ पूरी तरह से जुड़ा हुआ है:

nginx_mysql_spawn-fastcgi_tersting_nginx_php

यदि ऐसा नहीं होता है, तो यह है कि ब्राउज़र .php फ़ाइल डाउनलोड करने का प्रयास करता है ... इसका मतलब है कि उन्होंने कुछ गलत किया है, कि उन्होंने ~ के साथ /etc/nginx/sites-available/mywebsite.net को प्रतिस्थापित नहीं किया। / nginx-spawn-fastcgi / mywebsite_plus_php.net ... कि आप Netx को /etc/init.d/nginx के साथ पुनरारंभ करना भूल गए या आप Spet-FastCI को /etc/init.d/spawn-fastcgi से शुरू करना भूल गए।

अब तक स्पॉन्गफैस्टसीजीआई का उपयोग करके नैग्नेक्स को PHP के साथ जोड़ने के लिए ट्यूटोरियल, हमें केवल MySQL और APC tutorial की आवश्यकता है

मुझे उम्मीद है कि आपको यह दिलचस्प लग रहा होगा।


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

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

*

*

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

  1.   f3niX कहा

    यदि यह एक चौथाई है, तो छवि 3 क्यों कहती है? 0 पर शुरू हुआ मुझे लगता है? उत्कृष्ट पोस्ट।

    सादर

    1.    KZKG ^ गारा कहा

      पहली: प्रस्तुति
      2: Nginx
      3: नग्नेक्स + पीएचपी (स्पॉन_फैस्टसीजीआई)

      🙂

      पढ़ने के लिए धन्यवाद ^ _ ^

      1.    रॉड्रिगो कहा

        क्या हुआ भाग ४ ???
        और बाद के साथ ?????

  2.   रपायनम कहा

    हाय

    यह एक बेहतर विकल्प होगा यदि mysql के बजाय, आपने MariaDB का उपयोग किया, जैसा कि आपको पता होना चाहिए, उत्तरार्द्ध पहले का एक कांटा है, और पहले से ही चर्चा है कि यह भविष्य का मैसकल होगा (http://www.genbetadev.com/bases-de-datos/mariadb-sera-el-mysql-del-futuro) के रूप में Mysql स्वतंत्र है, एक बिंदु तक।

    SkySQL, एक कंपनी जो मुफ्त डेटाबेस से सेवाएं प्रदान करती है, ने MariaDB परियोजना का आर्थिक रूप से समर्थन किया है (http://www.genbetadev.com/bases-de-datos/mariadb-y-skysql-unen-fuerzas-para-llevar-a-mariadb-a-lo-mas-alto) और गूगल, जो कि मायकेकल के आधार पर बंद करना चाहता है, जैसा कि विकिपीडिया ने भी किया था, और माईएसक्यूएल 5.1 से मारियाबीडी 10.0 तक की मदद से, SkySQL की मदद करेगा, ठीक है, जो इस क्षेत्र में पहले से ही विशेषज्ञ हैं।

    Salu2.

    1.    KZKG ^ गारा कहा

      नमस्कार,

      हां, मुझे पता है कि मारियाडीबी और वास्तव में, हम पहले ही इस बारे में बात कर चुके हैं: https://blog.desdelinux.net/tag/mariadb/

      हालाँकि, अभी मैं MySQL का उपयोग कर रहा हूँ क्योंकि मैं ये ट्यूटोरियल उस विशेष अनुभव से कर रहा हूँ जो मुझे माइग्रेट करते समय मिला था। DesdeLinux (अपनी सभी सेवाओं के साथ) अन्य सर्वरों के लिए, उस समय हमने तकनीक को पूरी तरह से बदल दिया और जिन कार्यों या परिवर्तनों का मुझे सामना करना पड़ा, वे कम नहीं थे।
      उस पल से मेरी यह टिप्पणी पढ़ें: https://blog.desdelinux.net/el-blog-desdelinux-abandona-hostgator-y-pasa-a-gnutransfer/comment-page-1/#comment-81291

      अंतिम विचार हां वास्तव में है, MariaDB पर माइग्रेट करें, लेकिन मेरे पास संबंधित परीक्षण करने के लिए समय नहीं है indeed

      पढ़ने के लिए धन्यवाद

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

    यह ट्यूटोरियल मुझे NGPX के साथ zPanel X को स्थापित करने में मदद करेगा ताकि GNUPanel VPS के लिए माइग्रेट होने पर मेरी साइट को संतृप्त न किया जा सके।

  4.   ड्रगनेल कहा

    क्रिसमस का तोहफा? मैं सभी को बधाई देने के लिए तत्पर हूं।

    1.    KZKG ^ गारा कहा

      धन्यवाद साथी 😀

  5.   str0rmt4il कहा

    पसंदीदा में जोड़ा गया!

    वैसे, मुझे यह संदेह और सवाल है, क्या निगनेक्स का वास्तव में अपाचे से अधिक प्रदर्शन है?

    नमस्ते!

    1.    KZKG ^ गारा कहा

      ठीक है, अपाचे को बहुत अधिक अनुकूलित किया जा सकता है ... लेकिन अब तक, Google यह और लगभग हम सभी इस बात से सहमत हैं कि नग्नेक्स बहुत कम रैम का उपभोग करता है, इसमें एक असंगत प्रदर्शन नहीं है, हालांकि यह कॉन्फ़िगर करते समय पूरी तरह से सरल नहीं है।

  6.   लुइस मोरालेस कहा

    Good KZKG ^ हम में से उन लोगों के लिए गैरा उत्कृष्ट जानकारी जो इस दुनिया में रुचि रखते हैं, एक सवाल, जब 4 वीं तारीख के लिए ^