Nginx + MySQL + PHP5 + APC + Spawn_FastCGI உடன் வலை சேவையகத்தை எவ்வாறு நிறுவுவது [4 வது பகுதி: Nwnx + PHP with SpawnFastCGI]

சிறிது நேரம் முன்பு இந்த தொடர் பயிற்சிகள் பற்றி நான் சொன்னேன், அதிக தேவை ஹோஸ்டிங்கிற்கான சேவையகத்தை எவ்வாறு நிறுவுவது மற்றும் கட்டமைப்பது என்பது குறித்து. இந்த கட்டுரை நிறுவுதல் மற்றும் கட்டமைத்தல் பற்றியதாக இருக்கும் Nginx + PHP உடன் ஸ்பான்ஃபாஸ்ட்ஜிஜி:

ஸ்பான்_ஃபாஸ்ட்ஜிஜி:

இது PHP உடன் Nginx ஐ ஒன்றிணைக்கிறது என்று கூறலாம், அதாவது, அவர்கள் PHP5 தொகுப்பை நிறுவியிருந்தாலும் கூட, அவை ஸ்பான்_ஃபாஸ்ட்கிஐ நிறுவப்படவில்லை மற்றும் PHP இல் ஒரு தளத்தைத் திறக்கும்போது செயல்படுத்தப்படும் என்றால் உலாவி கோப்பை பதிவிறக்கும், அது காண்பிக்காது .php திட்டமிடப்பட்ட எதையும் அவை சேவையகத்திற்கு .php கோப்புகளை எவ்வாறு செயலாக்குவது என்று தெரியவில்லை, அதனால்தான் Spawn_FastCGI ஐ நிறுவி கட்டமைக்க வேண்டியது அவசியம்.

நாங்கள் அப்பாச்சியைப் பயன்படுத்தினால், அது லிபாபாச் 2-மோட்-பிஎச் 5 தொகுப்பை நிறுவுவது போன்ற எளிமையானதாக இருக்கும், ஆனால் நாம் என்ஜின்க்ஸைப் பயன்படுத்துவதால் அதற்கு பதிலாக ஸ்பான்-எஃப்சிஜி தொகுப்பை நிறுவ வேண்டும். மேலும், டுடோரியலில் /etc/init.d/ இல் ஒரு ஆரம்ப ஸ்கிரிப்டை எவ்வாறு உருவாக்குவது என்பதை விளக்குகிறேன், இதன் மூலம் நீங்கள் அதை மிகவும் வசதியாக கட்டுப்படுத்த முடியும்.

1. நிறுவல்:

நாங்கள் முதலில் தொடங்குவோம், எங்கள் களஞ்சியங்களிலிருந்து ஸ்பான்-ஃபாஸ்ட் சிஜிஐ மற்றும் PHP ஐ நிறுவுவோம்.

ஒவ்வொரு வரியின் தொடக்கத்திலும் சூடோவை வைப்பதன் மூலமாகவோ அல்லது ரூட்டாக உள்நுழைவதன் மூலமாகவோ செயல்படுத்தப்படும் அனைத்து கட்டளைகளும் ரூட் அனுமதிகளுடன் செயல்படுத்தப்படுகின்றன.

உங்கள் சேவையகத்தில் டெபியன், உபுண்டு அல்லது முனையத்தில் சில வழித்தோன்றல் போன்ற விநியோகத்தைப் பயன்படுத்தினால், பின்வருவனவற்றை வைத்து அழுத்த வேண்டும் உள்ளிடவும் :

aptitude install spawn-fcgi php5-cgi php5-curl

உபுண்டுவில் இயல்புநிலையாக ஆப்டிட்யூட் நிறுவப்படவில்லை, இருப்பினும், சில சந்தர்ப்பங்களில் சார்புகளை சிறப்பாக நிர்வகிப்பதால், அதை நிறுவவும், பொருத்தமாகப் பயன்படுத்தவும் பயன்படுத்த பரிந்துரைக்கிறேன்.

தனிப்பட்ட முறையில், டெபியனின் எந்தவொரு வழித்தோன்றலையும் நான் பரிந்துரைக்கவில்லை, சேவையகங்களுக்கு உபுண்டு கூட இல்லை, பல ஆண்டுகளாக எனது அனுபவங்கள் முற்றிலும் திருப்திகரமாக இல்லை. சேவையக இயக்க முறைமைக்கான எனது முதல் தேர்வு டெபியன், பின்னர் நான் சென்டோஸ், இறுதியாக சில பி.எஸ்.டி.

2. கட்டமைப்பு:

முந்தைய கட்டத்தில் (நாங்கள் Nginx ஐ நிறுவியபோது) nginx-spawn-fastcgi.tar.gz என்ற கோப்பை பதிவிறக்கம் செய்தோம், அதை அன்ஜிப் செய்தபோது அது எங்கள் வீட்டில் nginx-spawn-fastcgi என்ற கோப்புறையை உருவாக்கியது, அதிலிருந்து கோப்பை நகலெடுப்போம் spawn-fastcgi to /etc/init.d/:

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

மேலும், எங்களுக்கு / usr / bin / இல் இயங்கக்கூடிய php-fastcgi தேவை

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

சரியானது, ஸ்பான்-ஃபாஸ்ட்கி மற்றும் பி.எச்.பி-ஃபாஸ்ட்கி இயங்கக்கூடியவற்றைக் கட்டுப்படுத்த அனுமதிக்கும் கோப்பை நாங்கள் தயார் செய்துள்ளோம், இப்போது நாங்கள் ஸ்பான்-ஃபாஸ்ட்கியைத் தொடங்கப் போகிறோம்:

/etc/init.d/spawn-fastcgi start

இது போன்ற ஒன்றைக் காண்பிக்கும்: spawn-fcgi: குழந்தை வெற்றிகரமாக உருவானது: PID: 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 க்கு ஆதரவைக் கொண்டுள்ளது, அதாவது SpawnFastCGI ஐப் பயன்படுத்தி Nginx + PHP.

இந்த கோப்புகளுக்கு இடையிலான வேறுபாடுகள் பல, எடுத்துக்காட்டாக:

  • 3 வது வரிசையில் PHP ஐ ஆதரிக்கும் கோப்பு index.php சேர்க்கப்பட்டுள்ளது
  • எண் 3 இன் கீழ் ஒரு புதிய வரி: fastcgi_index index.php;
  • PHP ஐ எவ்வாறு செயலாக்குவது என்று Nginx க்குச் சொல்லும் பல புதிய வரிகள்.
  • … .. சுருக்கமாக, இரு கோப்புகளுக்கும் இடையிலான வேறுபாடுகளை அறிய உதவும் ஒரு புகைப்படம் இங்கே:

nginx_mysql_spawn-fastcgi_comparing_mywebsite_confs

Mywebsite_plus_php.net கோப்பு ஒரு உதாரணம், அது ஒரு எடுத்துக்காட்டு, அதாவது வேறுவிதமாகக் கூறினால், அதை மாற்றியமைத்து எங்கள் உள்ளமைவுகளை நிறுவ வேண்டும்.

பின்வருவனவற்றை நாம் மாற்ற வேண்டும்:

  • access_log (வரி 3): இது இந்த தளத்திற்கான அணுகல் பதிவு கோப்பின் பாதையாக இருக்கும்
  • error_log (வரி 4): இது இந்த தளத்திற்கான பிழை பதிவு கோப்பின் பாதையாக இருக்கும்
  • server_name (línea 5): La URL, dominio que está hosteado en esa carpeta, por ejemplo, si se tratase del foro de DesdeLinux sería: server_name foro.desdelinux.net
  • ரூட் (வரி 6): HTML கோப்புகள் இருக்கும் கோப்புறையின் பாதை, இதை / var / www / இல் விட்டுவிடுவோம், ஏனெனில் இது ஒரு சோதனை மட்டுமே
சர்வர்_பெயரில் அறிவிக்கப்பட்ட டொமைன் அல்லது சப்டொமைன் அவர்கள் கட்டமைக்கும் இந்த சேவையகத்தின் ஐபி மீது அமைந்துள்ளது என்பதை அவர்கள் ஹோஸ்டிங் வழங்குநரின் (சிபனெல் அல்லது மற்றொரு கருவியைப் பயன்படுத்தி) தங்கள் டிஎன்எஸ் பதிவுகளில் சுட்டிக்காட்டியிருக்க வேண்டும். அதாவது, அவர்கள் தங்கள் களத்திற்கான துணை டொமைன்களை உருவாக்கும் டி.என்.எஸ் இல், அவர்கள் 5 வது வரிசையில் வைத்துள்ள டொமைன் அல்லது சப்டொமைன் இந்த சேவையகத்தில் இருப்பதாக அறிவிக்க வேண்டும் (இந்த சேவையகம் = கேள்விக்குரிய சேவையகத்தின் ஐபி முகவரி)

தயார், இப்போது நாம் Nginx ஐ மறுதொடக்கம் செய்வோம்:

/etc/init.d/nginx restart

எங்கள் Nginx PHP ஐ சரியாக செயலாக்குகிறது என்பதை சரிபார்க்க, ஹோஸ்ட் செய்யப்பட்ட கோப்புறையில் phptest.php கோப்பை நகலெடுப்போம், அதாவது, mywebsite_plus_php.net கோப்பின் எண் 6 இல் குறிக்கப்பட்டுள்ளோம் (எடுத்துக்காட்டாக, ரூட் / var / www /), தளம் நேரடியாக / var / www / இல் ஹோஸ்ட் செய்யப்பட்டுள்ளது என்று கருதி:

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

எங்கள் mywebsite_plus_php.net இன் 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… அவர்கள் Nginx ஐ /etc/init.d/nginx மறுதொடக்கம் மூலம் மறுதொடக்கம் செய்ய மறந்துவிட்டார்கள் அல்லது /etc/init.d/spawn-fastcgi தொடக்கத்துடன் ஸ்பான்-ஃபாஸ்ட்கிஐ தொடங்க மறந்துவிட்டார்கள்

ஸ்பான்ஃபாஸ்ட் சிஜிஐ பயன்படுத்தி என்ஜினெக்ஸை PHP உடன் இணைப்பதற்கான பயிற்சி இதுவரை, எங்களுக்கு MySQL மற்றும் APC only மட்டுமே தேவை

இதை நீங்கள் சுவாரஸ்யமாகக் காண்கிறீர்கள் என்று நம்புகிறேன்.


11 கருத்துகள், உங்களுடையதை விடுங்கள்

உங்கள் கருத்தை தெரிவிக்கவும்

உங்கள் மின்னஞ்சல் முகவரி வெளியிடப்பட்ட முடியாது. தேவையான புலங்கள் குறிக்கப்பட்டிருக்கும் *

*

*

  1. தரவுக்கு பொறுப்பு: மிகுவல் ஏஞ்சல் கேடன்
  2. தரவின் நோக்கம்: கட்டுப்பாட்டு ஸ்பேம், கருத்து மேலாண்மை.
  3. சட்டபூர்வமாக்கல்: உங்கள் ஒப்புதல்
  4. தரவின் தொடர்பு: சட்டபூர்வமான கடமையால் தவிர மூன்றாம் தரப்பினருக்கு தரவு தெரிவிக்கப்படாது.
  5. தரவு சேமிப்பு: ஆக்சென்டஸ் நெட்வொர்க்குகள் (EU) வழங்கிய தரவுத்தளம்
  6. உரிமைகள்: எந்த நேரத்திலும் உங்கள் தகவல்களை நீங்கள் கட்டுப்படுத்தலாம், மீட்டெடுக்கலாம் மற்றும் நீக்கலாம்.

  1.   f3niX அவர் கூறினார்

    இது ஒரு கால் என்றால், படம் ஏன் 3 என்று கூறுகிறது? 0 இல் தொடங்கியது நான் நினைக்கிறேன்? சிறந்த பதிவு.

    மேற்கோளிடு

    1.    KZKG ^ காரா அவர் கூறினார்

      1 வது: விளக்கக்காட்சி
      2 வது: என்ஜின்க்ஸ்
      3 வது: Nginx + PHP (Spawn_FastCGI)

      ????

      Reading _ reading படித்ததற்கு நன்றி

      1.    ரொட்ரிகோ அவர் கூறினார்

        பகுதி 4 க்கு என்ன நடந்தது ???
        மற்றும் அடுத்தடுத்த ?????

  2.   rpyanm அவர் கூறினார்

    ஹலோ:

    MySQL க்கு பதிலாக, நீங்கள் MariaDB ஐப் பயன்படுத்தினால், இது ஒரு சிறந்த தேர்வாக இருக்கும், உங்களுக்குத் தெரிந்தபடி, பிந்தையது முதல் ஒரு முட்கரண்டி, மேலும் இது எதிர்காலத்தின் MySQL ஆக இருக்கும் என்று ஏற்கனவே பேச்சு உள்ளது (http://www.genbetadev.com/bases-de-datos/mariadb-sera-el-mysql-del-futuro) MySQL இலவசம் என்பதால், ஒரு புள்ளி வரை.

    இலவச தரவுத்தளங்களின் அடிப்படையில் சேவைகளை வழங்கும் ஸ்கைஸ்க்யூல், மரியாடிபி திட்டத்தை நிதி ரீதியாக ஆதரித்தது (http://www.genbetadev.com/bases-de-datos/mariadb-y-skysql-unen-fuerzas-para-llevar-a-mariadb-a-lo-mas-alto) மற்றும் கூகிள் விக்கிபீடியாவைப் போலவே மைஸ்கலைப் பொறுத்து நிறுத்த விரும்புகிறது, மேலும் இந்த துறையில் ஏற்கனவே நிபுணர்களாக இருக்கும் ஸ்கைஸ்க்யூலின் உதவியுடன், MySQL 5.1 இலிருந்து மரியாடிபி 10.0 க்கு மாற்றும்.

    சலு 2.

    1.    KZKG ^ காரா அவர் கூறினார்

      , ஹலோ

      ஆம், எனக்கு மரியாடிபி தெரியும், உண்மையில், நாங்கள் ஏற்கனவே இதைப் பற்றி பேசியுள்ளோம்: https://blog.desdelinux.net/tag/mariadb/

      No obstante, ahora mismo estoy usando MySQL pues estos tutoriales los hago desde la experiencia particular que tuve al migrar DesdeLinux (con todos sus servicios) hacia otros servidores, en ese momento cambiamos la tecnología completamente y las tareas o cambios que tuve que afrontar no fueron pocos.
      என்னுடைய இந்த கருத்தை அந்த தருணத்திலிருந்து படியுங்கள்: https://blog.desdelinux.net/el-blog-desdelinux-abandona-hostgator-y-pasa-a-gnutransfer/comment-page-1/#comment-81291

      இறுதி யோசனை ஆம், மரியாடிபிக்கு குடிபெயருங்கள், ஆனால் தொடர்புடைய சோதனைகளைச் செய்ய எனக்கு நேரம் கிடைக்கவில்லை

      வாசித்ததற்கு நன்றி

  3.   எலியோடைம் 3000 அவர் கூறினார்

    குனுபனெல் வி.பி.எஸ்-க்கு இடம்பெயரும்போது எனது தளத்தை நிறைவு செய்யாதபடி என்.ஜி.என்.எக்ஸ் உடன் zPanel X ஐ நிறுவ இந்த பயிற்சி எனக்கு உதவும்.

  4.   டிராக்னெல் அவர் கூறினார்

    கிறிஸ்துமஸ் பரிசு? அனைவருக்கும் வாழ்த்துக்களை எதிர்பார்க்கிறேன்.

    1.    KZKG ^ காரா அவர் கூறினார்

      நன்றி கூட்டாளர்

  5.   st0rmt4il அவர் கூறினார்

    பிடித்தவையில் சேர்க்கப்பட்டது!

    மூலம், எனக்கு இந்த சந்தேகம் மற்றும் கேள்வி உள்ளது, அப்பாச்சியை விட என்ஜின்க்ஸ் உண்மையில் அதிக செயல்திறனைக் கொண்டிருக்கிறதா?

    நன்றி!

    1.    KZKG ^ காரா அவர் கூறினார்

      அப்பாச்சியை நிறைய உகந்ததாக்க முடியும், ஆனால்… இப்போது வரை, கூகிள் மற்றும் நாம் அனைவரும் ஒப்புக்கொள்கிறோம், என்ஜின்க்ஸ் மிகக் குறைந்த ரேம் பயன்படுத்துகிறது, அளவிட முடியாத செயல்திறன் உள்ளது, இருப்பினும் இது கட்டமைக்கும்போது முற்றிலும் எளிதானது அல்ல.

  6.   லூயிஸ் மோரல்ஸ் அவர் கூறினார்

    நல்ல KZKG ^ காரா இந்த உலகில் ஆர்வமுள்ளவர்களுக்கு சிறந்த தகவல், ஒரு கேள்வி, 4 வது இடுகை எப்போது 😀