Si të instaloni një server në internet me Nginx + MySQL + PHP5 + APC + Spawn_FastCGI [Pjesa e 4-të: Nginx + PHP me SpawnFastCGI]

Një kohë më parë Unë ju thashë për këtë seri udhëzimesh, mbi mënyrën e instalimit dhe konfigurimit të një serveri për një pritje me kërkesë të lartë. Ky artikull do të ketë të bëjë me instalimin dhe konfigurimin Nginx + PHP me SpawnFastCGI:

Pjell_FastCGI:

Kjo mund të thuhet se është ajo që lidh Nginx me PHP, domethënë, edhe nëse ata kanë të instaluar paketën PHP5 nëse nuk kanë të instaluar dhe ekzekutuar Spawn_FastCGI kur hapin një faqe në PHP, shfletuesi do të shkarkojë skedarin, nuk do t'u tregojë asgjë .php është programuar sepse serveri nuk di të përpunojë skedarët .php, prandaj është thelbësore instalimi dhe konfigurimi i Spawn_FastCGI.

Nëse përdorim Apache do të ishte diçka aq e thjeshtë sa instalimi i paketës libapache2-mod-php5, por meqenëse përdorim Nginx do të duhet të instalojmë paketën spawn-fcgi në vend. Gjithashtu, në tutorial do të shpjegoj se si të krijoni një skenar fillestar për të në /etc/init.d/ në mënyrë që ta kontrolloni atë më lehtësisht.

1. Instalimi:

Ne do të fillojmë me instalimin e parë, Spawn-FastCGI dhe PHP nga depot tona.

Të gjitha komandat që do të ekzekutohen ekzekutohen me leje rrënjë, ose duke vendosur sudo në fillim të secilës rresht ose duke u regjistruar si root

Nëse në serverin tuaj përdorni një shpërndarje të tillë si Debian, Ubuntu ose ndonjë derivat në terminal duhet të vendosni sa vijon dhe shtypni Shkruani :

aptitude install spawn-fcgi php5-cgi php5-curl

aftësia nuk është instaluar si parazgjedhje në Ubuntu, megjithatë ju rekomandoj ta instaloni dhe ta përdorni në vend të apt-get, pasi aftësia bën menaxhim më të mirë të varësive në raste të caktuara

Personalisht, unë nuk rekomandoj ndonjë derivat të Debian, madje as Ubuntu për serverat, me kalimin e viteve përvojat e mia nuk kanë qenë plotësisht të kënaqshme. Zgjedhja ime e parë për sistemin operativ të serverit është Debian, atëherë do të mendoja për CentOS, më në fund disa BSD

2. Konfigurimi:

Në hapin e mëparshëm (kur instaluam Nginx) ne shkarkuam një skedar të quajtur nginx-spawn-fastcgi.tar.gz që kur të hiqte zinxhirin krijoi dosjen nginx-spawn-fastcgi në shtëpinë tonë, ne do ta kopjojmë skedarin nga ai pjellë-fastcgi në /etc/init.d/:

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

Gjithashtu, na duhet php-fastcgi i ekzekutueshëm në / usr / bin /

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

E përsosur, ne kemi gati skedarin që do të na lejojë të kontrollojmë pjelljen e shpejtë dhe gjithashtu php-fastcgi të ekzekutueshëm, tani do të fillojmë pjelljen e shpejtë:

/etc/init.d/spawn-fastcgi start

Do të na tregojë diçka si: pjella-fcgi: fëmija pjellë me sukses: PID: 3739

Tani do të zëvendësojmë skedarin tonë /etc/nginx/sites-available/mywebsite.net me with / nginx-pjellje-fastcgi / mywebsite_plus_php.net

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

Pse E thjeshtë, sepse skedari ynë i vjetër mywebsite.net nuk ka mbështetje për PHP, domethënë është vetëm Nginx, ndërsa skedari mywebsite_plus_php.net ka mbështetje për PHP, pra Nginx + PHP duke përdorur SpawnFastCGI.

Dallimet midis këtyre skedarëve janë disa, për shembull:

  • Në rreshtin 3 skedari që mbështet PHP shtohet index.php
  • Një linjë e re nën Nr. 3 që përmban: fastcgi_index index.php;
  • Disa linja të tjera të reja që i tregojnë Nginx si të përpunojë PHP.
  • … .. gjithsesi, këtu është një foto që do t'ju ndihmojë të njihni ndryshimet midis dy skedarëve:

nginx_mysql_spawn-fastcgi_comaving_mywebsite_confs

Skedari mywebsite_plus_php.net është një vhost që shërben si një shembull, domethënë, dhe me fjalë të tjera, ne duhet ta modifikojmë atë dhe të vendosim konfigurimet tona.

Ne duhet të ndryshojmë sa vijon:

  • access_log (rreshti 3): Kjo do të jetë rruga e skedarit të regjistrit të hyrjes në këtë sit
  • error_log (rreshti 4): Kjo do të jetë rruga e skedarit të regjistrit të gabimit në këtë sit
  • Emri_server (rreshti 5): URL-ja, domeni që ndodhet në atë dosje, për shembull, nëse do të ishte forumi DesdeLinux do të ishte: emri_server i forumit.desdelinux. Net
  • root (rreshti 6): Rruga për tek dosja ku ndodhen skedarët html, le ta lëmë këtë në / var / www / pasi do të jetë vetëm një provë
Padyshim që ata duhet të tregojnë në regjistrat e tyre të DNS të ofruesit të tyre të pritjes (duke përdorur CPanel ose një mjet tjetër) që domeni ose nën-domeni i deklaruar në emrin e serverit ndodhet në IP të këtij serveri që ata po konfigurojnë. Kjo është, në DNS ku ata krijojnë nën-domene për domenin e tyre, ata duhet të deklarojnë se domeni ose nën-domeni që ata kanë vendosur në rreshtin 5 ndodhet në këtë server (ky server = adresa IP e serverit në fjalë)

Gati, tani do të rinisim Nginx:

/etc/init.d/nginx restart

Për të kontrolluar që Nginx-i ynë përpunon si duhet PHP, le të kopjojmë skedarin phptest.php në dosjen e pritur, domethënë, atë të treguar në rreshtin nr. 6 të skedarit mywebsite_plus_php.net (për shembull, root / var / www /), duke supozuar se keni sitin e pritur drejtpërdrejt në / var / www / do të ishte:

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

Duke supozuar se në rreshtin 5 të mywebsite_plus_php.net (domethënë linja e emrit të serverit) ne kemi thënë që faqja jonë është www.mysite.net atëherë duhet të kemi qasje në www.mysite.net/phptest.php. Me fjalë të tjera, ideja është të hyni në skedarin phptest.php nga shfletuesi ynë dhe nëse shfaqet e mëposhtme, atëherë Nginx-i ynë lidhet në mënyrë të përsosur me PHP:

nginx_mysql_spawn-fastcgi_tersting_nginx_php

Në rast se kjo nuk shfaqet, domethënë që shfletuesi përpiqet të shkarkojë skedarin .php ... kjo do të thotë që ata bënë diçka gabim, se nuk e zëvendësuan /etc/nginx/sites-available/mywebsite.net me ~ / nginx-spawn-fastcgi / mywebsite_plus_php.net… që keni harruar të rindizni Nginx me /etc/init.d/nginx rinisni ose keni harruar të filloni Spawn-FastCGI me /etc/init.d/spawn-fastcgi start

Deri më tani tutoriali për të lidhur Nginx me PHP duke përdorur SpawnFastCGI, na duhen vetëm MySQL dhe APC

Shpresoj se kjo është interesante për ju.


Lini komentin tuaj

Adresa juaj e emailit nuk do të publikohet. Fusha e kërkuar janë shënuar me *

*

*

  1. Përgjegjës për të dhënat: Miguel Ángel Gatón
  2. Qëllimi i të dhënave: Kontrolloni SPAM, menaxhimin e komenteve.
  3. Legjitimimi: Pëlqimi juaj
  4. Komunikimi i të dhënave: Të dhënat nuk do t'u komunikohen palëve të treta përveç me detyrim ligjor.
  5. Ruajtja e të dhënave: Baza e të dhënave e organizuar nga Occentus Networks (BE)
  6. Të drejtat: Në çdo kohë mund të kufizoni, rikuperoni dhe fshini informacionin tuaj.

  1.   f3niX dijo

    Nëse është një çerek, pse imazhi thotë 3? filloi me 0 mendoj? post i shkëlqyeshëm.

    të fala

    1.    KZKG ^ Gaara dijo

      I parë: Prezantimi
      2: Nginx
      E treta: Nginx + PHP (Spawn_FastCGI)

      🙂

      Faleminderit për leximin ^ _ ^

      1.    Rodrigo dijo

        cfare ndodhi me pjesen 4 ???
        dhe me pasues ?????

  2.   rpyanm dijo

    Hi

    Do të ishte një zgjedhje më e mirë nëse në vend të mysql, do të përdornit MariaDB, pasi duhet ta dini se kjo e fundit është një pirun e së parës dhe tashmë flitet se do të jetë MySQL e së ardhmes (http://www.genbetadev.com/bases-de-datos/mariadb-sera-el-mysql-del-futuro) pasi Mysql është falas, deri në një pikë.

    SkySQL, një kompani që ofron shërbime nga bazat e të dhënave falas, mbështetur financiarisht projektin MariaDB (http://www.genbetadev.com/bases-de-datos/mariadb-y-skysql-unen-fuerzas-para-llevar-a-mariadb-a-lo-mas-alto) dhe Google që dëshiron të ndalet në varësi të Mysql, siç bëri Wikipedia, dhe do të kalojë nga MySQL 5.1 në MariaDB 10.0 me ndihmën, saktësisht, të SkySQL, të cilët tashmë janë ekspertë në këtë fushë.

    Salu2

    1.    KZKG ^ Gaara dijo

      Përshëndetje,

      Po sigurisht, unë e njoh MariaDB dhe në fakt, ne kemi folur tashmë për të: https://blog.desdelinux.net/tag/mariadb/

      Sidoqoftë, për momentin po përdor MySQL sepse po i bëj këto mësime nga përvoja e veçantë që pata kur migroja. DesdeLinux (me te gjitha sherbimet e tij) ndaj servereve te tjere, ne ate kohe ne ndryshuam teknologjine komplet dhe detyrat apo ndryshimet me te cilat duhej te perballesha nuk ishin te pakta.
      Lexoni këtë koment timin nga ai moment: https://blog.desdelinux.net/el-blog-desdelinux-abandona-hostgator-y-pasa-a-gnutransfer/comment-page-1/#comment-81291

      Ideja përfundimtare është po, migroni në MariaDB, por nuk kam pasur kohë të bëj testet përkatëse

      Faleminderit per leximin

  3.   eliotime3000 dijo

    Ky udhëzues do të më ndihmojë të instaloj zPanel X me NGINX në mënyrë që të mos ngopem sitin tim kur migroj në GNUPanel VPS.

  4.   dragnell dijo

    Dhurata e Krishtlindjes? Mezi po prisja urimet për të gjithë.

    1.    KZKG ^ Gaara dijo

      Faleminderit partner

  5.   st0rmt4il dijo

    Shtuar në të preferuarat!

    Nga rruga, unë kam këtë dyshim dhe pyetje, a ka Nginx me të vërtetë më shumë performancë sesa Apache?

    Përshëndetje!

    1.    KZKG ^ Gaara dijo

      Epo, Apache mund të optimizohet shumë por… deri më tani, Google dhe pothuajse të gjithë jemi dakord se Nginx harxhon shumë më pak RAM, ka një performancë jo të pakonsiderueshme, megjithëse nuk është plotësisht e thjeshtë kur konfiguroni.

  6.   Louis morale dijo

    Mirë KZKG ^ Gaara informacion i shkëlqyeshëm për ata prej nesh që janë të interesuar në këtë botë, një pyetje, kur postimi i 4-të