Veebiserveri installimine rakendusega Nginx + MySQL + PHP5 + APC + Spawn_FastCGI [4. osa: Nginx + PHP koos SpawnFastCGI]

Hace Tiempo Ma rääkisin teile sellest õpetuste seeriast, kuidas installida ja konfigureerida server suure nõudlusega majutamiseks. See artikkel räägib installimisest ja konfigureerimisest Nginx + PHP koos SpawnFastCGI:

Spawn_FastCGI:

Võib öelda, et see ühendab Nginxit PHP-ga, st isegi kui neil on installitud PHP5 pakett, kui neil pole PHP-s saidi avamisel installitud ja käivitatud Spawn_FastCGI, siis brauser laadib faili alla, seda ei näidata neile kõike, mis .php on programmeeritud, kuna server ei tea, kuidas .php-faile töödelda, mistõttu on hädavajalik installida ja seadistada Spawn_FastCGI.

Kui me kasutaksime Apache'i, oleks see midagi nii lihtsat kui libapache2-mod-php5 paketi installimine, kuid kuna me kasutame Nginxi, peame selle asemel installima paketi spawn-fcgi. Samuti selgitan õpetuses, kuidas luua sellele algne skript kataloogis /etc/init.d/, et saaksite seda mugavamalt juhtida.

1. Paigaldamine:

Alustame esimese asjaga, installime oma hoidlatest Spawn-FastCGI ja PHP.

Kõik käivitatavad käsud täidetakse juurõigustega, pannes sudo iga rea ​​algusesse või logides sisse juurena

Kui kasutate oma serveris terminalis sellist jaotust nagu Debian, Ubuntu või mõnda muud tuletist, peate sisestama järgmise ja vajutama sisene :

aptitude install spawn-fcgi php5-cgi php5-curl

aptitude pole Ubuntu vaikimisi installitud, kuid soovitan teil see installida ja kasutada seda apt-geti asemel, kuna aptitude haldab teatud juhtudel sõltuvusi paremini

Isiklikult ei soovita ma ühtegi Debiani tuletist, isegi serverite jaoks mitte Ubuntu, aastate jooksul pole minu kogemused olnud täiesti rahuldavad. Minu esimene valik serveri operatsioonisüsteemi jaoks on Debian, siis mõtleksin CentOSile, lõpuks ka mõnele BSD-le

2. Konfiguratsioon:

Eelmises etapis (kui installisime Nginxi) laadisime alla faili nimega nginx-spawn-fastcgi.tar.gz, et lahti pakkides lõi see meie kodus kausta nginx-spawn-fastcgi, kopeerime faili sellest kudema-fastcgi /etc/init.d/:

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

Samuti vajame käivitatavat faili php-fastcgi kataloogis / usr / bin /

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

Täiuslik, meil on valmis fail, mis võimaldab meil kontrollida kudema-fastcgi ja ka käivitatavat php-fastcgi, nüüd hakkame kudema-fastcgi:

/etc/init.d/spawn-fastcgi start

See näitab meile midagi sellist: spawn-fcgi: laps kudenud edukalt: PID: 3739

Nüüd asendame oma faili /etc/nginx/sites-available/mywebsite.net failiga ~ / nginx-spawn-fastcgi / mywebsite_plus_php.net

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

Miks? Lihtne, kuna meie eelmisel failil mywebsite.net pole PHP tuge, see tähendab, et see on ainult Nginx, samas kui failil mywebsite_plus_php.net on PHP tugi, st Nginx + PHP, kasutades SpawnFastCGI.

Nende failide vahel on mitu erinevust, näiteks:

  • Reale 3 lisatakse PHP-d toetav fail index.php
  • Uus rida nr 3 all, mis sisaldab: fastcgi_index index.php;
  • Mitu muud uut rida, mis ütlevad Nginxile, kuidas PHP-d töödelda.
  • ... .. igatahes, siin on foto, mis aitab teil teada saada kahe faili erinevusi:

nginx_mysql_spawn-fastcgi_comparing_mywebsite_confs

Fail mywebsite_plus_php.net on eeskujuks olev vhost ehk teisisõnu peame seda muutma ja seadistama.

Peame muutma järgmist:

  • access_log (rida 3): see on juurdepääsulogifaili tee sellele saidile
  • error_log (rida 4): see on tõrke logifaili tee sellele saidile
  • serveri_nimi (rida 5): URL, domeen, mida majutatakse selles kaustas, näiteks kui see oleks foorum DesdeLinux see oleks: foorumi serveri_nimi.desdelinux. Net
  • juur (rida 6): tee kausta, kus asuvad HTML-failid, jätame selle kataloogi / var / www / kuna see on ainult test
Ilmselt peavad nad oma hostiteenuse pakkuja DNS-kirjetes märkima (kasutades CPanelit või mõnda muud tööriista), et domeen või alamdomeen, mis on deklareeritud serveri_nimi, asub selle konfigureeritava serveri IP-l. See tähendab, et DNS-is, kus nad loovad oma domeenile alamdomeene, peavad nad deklareerima, et domeen või alamdomeen, mille nad on pannud reale 5, asub selles serveris (see server = kõnealuse serveri IP-aadress)

Valmis, nüüd taaskäivitame Nginxi:

/etc/init.d/nginx restart

Veendumaks, et meie Nginx töötleb PHP-d õigesti, kopeerime faili phptest.php hostitud kausta, see tähendab faili mywebsite_plus_php.net reale nr 6 märgitud kausta (näiteks root / var / www /), eeldades, et saidi hostimine toimub otse kataloogis / var / www /:

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

Eeldades, et meie mywebsite_plus_php.net real (see tähendab rida serveri_nimi) oleme öelnud, et meie sait on www.mysite.net, siis peame pääsema juurde aadressile www.mysite.net/phptest.php. Teisisõnu, idee on pääseda faili phptest.php juurde oma brauserist ja kui ilmub järgmine, on meie Nginx täielikult ühendatud PHP-ga:

nginx_mysql_spawn-fastcgi_tersting_nginx_php

Juhul, kui seda ei ilmu, see tähendab, et brauser üritab .php-faili alla laadida ... see tähendab, et nad tegid midagi valesti, et nad ei asendanud /etc/nginx/sites-available/mywebsite.net sõnaga ~ / nginx-spawn-fastcgi / mywebsite_plus_php.net ... et nad unustasid Nginxi taaskäivitada /etc/init.d/nginx taaskäivitada või et nad unustasid Spawn-FastCGI käivitada /etc/init.d/spawn-fastcgi start

Siiani on Nginxi ja PHP ühendamise juhend SpawnFastCGI abil vaja ainult MySQL-i ja APC-d 🙂

Loodan, et see on teile huvitav.


Jäta oma kommentaar

Sinu e-postiaadressi ei avaldata. Kohustuslikud väljad on tähistatud *

*

*

  1. Andmete eest vastutab: Miguel Ángel Gatón
  2. Andmete eesmärk: Rämpsposti kontrollimine, kommentaaride haldamine.
  3. Seadustamine: teie nõusolek
  4. Andmete edastamine: andmeid ei edastata kolmandatele isikutele, välja arvatud juriidilise kohustuse alusel.
  5. Andmete salvestamine: andmebaas, mida haldab Occentus Networks (EL)
  6. Õigused: igal ajal saate oma teavet piirata, taastada ja kustutada.

  1.   f3niX DIJO

    Kui see on veerand, siis miks ütleb pilt 3? algas 0 vist? suurepärane postitus.

    seoses

    1.    KZKG ^ Gaara DIJO

      1.: esitlus
      2.: Nginx
      3. koht: Nginx + PHP (Spawn_FastCGI)

      🙂

      Täname, et lugesite ^ _ ^

      1.    Rodrigo DIJO

        mis juhtus 4. osaga ???
        ja järgnevate ?????

  2.   rpyanm DIJO

    Tere

    Parem oleks valik, kui mysqli asemel kasutaksite MariaDB-d, nagu peaksite teadma, viimane on esimese kahvliharud ja juba räägitakse, et sellest saab tuleviku MySQL (http://www.genbetadev.com/bases-de-datos/mariadb-sera-el-mysql-del-futuro), kuna Mysql on kuni punktini vaba.

    Tasuta andmebaasidel põhinevaid teenuseid pakkuv ettevõte SkySQL toetas MariaDB projekti rahaliselt (http://www.genbetadev.com/bases-de-datos/mariadb-y-skysql-unen-fuerzas-para-llevar-a-mariadb-a-lo-mas-alto) ja Google, kes soovib peatuda sõltuvalt Mysqlist, nagu tegi ka Wikipedia, ja teeb ülemineku MySQL 5.1-lt MariaDB 10.0-le SkySQL-i abil, kes on juba selle valdkonna eksperdid.

    tere2.

    1.    KZKG ^ Gaara DIJO

      Tere,

      Jah, muidugi, ma tean MariaDB-d ja tegelikult oleme sellest juba rääkinud: https://blog.desdelinux.net/tag/mariadb/

      Kuid praegu kasutan MySQL-i, kuna teen neid õpetusi konkreetsest kogemusest, mis mul migreerumisel oli. DesdeLinux (koos kõigi oma teenustega) teistele serveritele, muutsime sel ajal tehnoloogiat täielikult ja ülesandeid või muudatusi, millega ma pidin silmitsi seisma, ei olnud vähe.
      Loe seda oma kommentaari sellest hetkest: https://blog.desdelinux.net/el-blog-desdelinux-abandona-hostgator-y-pasa-a-gnutransfer/comment-page-1/#comment-81291

      Lõplik idee on jah, migreeruge MariaDB-sse, kuid mul pole olnud aega vastavaid teste teha 🙂

      Täname lugemast

  3.   eliotime3000 DIJO

    See õpetus aitab mul installida zPanel X koos NGINX-iga, et GNUPaneli VPS-i üleminekul minu saiti küllastuda.

  4.   dragnell DIJO

    Jõulukink? Ootasin kõiki õnnitlusi.

    1.    KZKG ^ Gaara DIJO

      Aitäh partner 😀

  5.   st0rmt4il DIJO

    Lisatud lemmikute hulka!

    Muide, mul on selline kahtlus ja küsimus, kas Nginxil on tõesti suurem jõudlus kui Apacheil?

    Tervitused!

    1.    KZKG ^ Gaara DIJO

      Noh, Apache'i saab palju optimeerida, kuid ... siiani on Google seda teinud ja peaaegu kõik meist nõustuvad, et Nginx tarbib palju vähem RAM-i, on märkimisväärse jõudlusega, ehkki seadistamisel pole see nii lihtne.

  6.   louis moraalid DIJO

    Hea KZKG ^ Gaara suurepärane teave meile, keda see maailm huvitab, küsimus, millal 4. postitus 😀