Kako namestiti spletni strežnik z Nginx + MySQL + PHP5 + APC + Spawn_FastCGI [4. del: Nginx + PHP s SpawnFastCGI]

Čez nekaj časa Povedal sem vam o tej seriji vaj, o tem, kako namestiti in konfigurirati strežnik za gostovanje z velikim povpraševanjem. Ta članek bo o namestitvi in ​​konfiguriranju Nginx + PHP z SpawnFastCGI:

Spawn_FastCGI:

Lahko rečemo, da je to tisto, kar združuje Nginx s PHP, torej tudi če imajo nameščen paket PHP5, če nima nameščenega in izvršenega Spawn_FastCGI, ko odprejo spletno mesto v PHP, brskalnik prenese datoteko, ne bo pa jim pokazal ničesar, da .php je bil programiran, ker strežnik ne ve, kako obdelati datoteke .php, zato je nujno namestiti in konfigurirati Spawn_FastCGI.

Če bi uporabili Apache, bi bilo nekaj tako preprostega, kot je namestitev paketa libapache2-mod-php5, ker pa uporabljamo Nginx, bomo morali namesto njega namestiti paket spawn-fcgi. V vadnici bom tudi razložil, kako v /etc/init.d/ ustvariti začetni skript zanj, da ga boste lažje nadzorovali.

1. Namestitev:

Začeli bomo s prvo, namestite Spawn-FastCGI in PHP iz naših skladišč.

Vsi ukazi, ki se bodo izvajali, se izvajajo s korenskimi dovoljenji, tako da na začetek vsake vrstice postavite sudo ali pa se prijavite kot root

Če na svojem strežniku v terminalu uporabljate distribucijo, kot je Debian, Ubuntu ali kakšen derivat, morate vstaviti naslednje in pritisniti Vnesite :

aptitude install spawn-fcgi php5-cgi php5-curl

aptitude privzeto ni nameščen v Ubuntuju, vendar priporočam, da ga namestite in uporabite namesto apt-get, saj aptitude ob določenih priložnostih bolje obvladuje odvisnosti

Osebno ne priporočam nobenih izpeljank Debiana, niti Ubuntuja za strežnike, v preteklih letih moje izkušnje niso bile povsem zadovoljive. Moja prva izbira za strežniški operacijski sistem je Debian, potem bi pomislil na CentOS, na koncu še na BSD

2. Konfiguracija:

V prejšnjem koraku (ko smo namestili Nginx) smo prenesli datoteko z imenom nginx-spawn-fastcgi.tar.gz, ki je ob odprtju ustvarila mapo nginx-spawn-fastcgi v našem domu, kopirali bomo datoteko iz nje spawn-fastcgi v /etc/init.d/:

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

Prav tako potrebujemo izvršljivo datoteko php-fastcgi v / usr / bin /

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

Popolnoma, pripravili smo datoteko, ki nam bo omogočila nadzor nad spawn-fastcgi in tudi izvršljivo datoteko php-fastcgi, zdaj bomo začeli spawn-fastcgi:

/etc/init.d/spawn-fastcgi start

Pokazal nam bo nekaj takega: spawn-fcgi: otrok se je uspešno zarodil: PID: 3739

Zdaj bomo datoteko /etc/nginx/sites-available/mywebsite.net zamenjali z ~ / nginx-spawn-fastcgi / mywebsite_plus_php.net

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

Zakaj? Preprosto, ker naša prejšnja datoteka mywebsite.net nima podpore za PHP, to je samo Nginx, medtem ko datoteka mywebsite_plus_php.net podpira PHP, to je Nginx + PHP z uporabo SpawnFastCGI.

Razlik med temi datotekami je več, na primer:

  • V vrstico 3 se doda datoteka, ki podpira PHP, index.php
  • Nova vrstica pod št. 3, ki vsebuje: fastcgi_index index.php;
  • Nekaj ​​drugih novih vrstic, ki Nginxu povedo, kako obdelati PHP.
  • ... .. Na kratko, tukaj je fotografija, ki vam bo pomagala spoznati razlike med obema datotekama:

nginx_mysql_spawn-fastcgi_comparing_mywebsite_confs

Datoteka mywebsite_plus_php.net je vhost, ki služi kot primer, torej z drugimi besedami, spremeniti jo moramo in vzpostaviti naše konfiguracije.

Spremeniti moramo naslednje:

  • access_log (vrstica 3): To bo pot datoteke dnevnika dostopa do tega spletnega mesta
  • error_log (vrstica 4): To bo pot datoteke dnevnika napak do tega spletnega mesta
  • ime_strežnika (vrstica 5): URL, domena, ki gostuje v tej mapi, na primer, če bi bil forum DesdeLinux to bi bilo: forum server_name.desdelinux.net
  • root (vrstica 6): Pot do mape, v kateri so datoteke html, pustimo to v / var / www /, saj bo le test
Očitno morajo v svojih zapisih DNS svojega ponudnika gostovanja (z uporabo CPanela ali drugega orodja) kazati, da se domena ali poddomena, prijavljena v ime_strežnika, nahaja na IP-ju tega strežnika, ki ga konfigurirajo. To pomeni, da morajo v DNS, kjer ustvarijo poddomene za svojo domeno, prijaviti, da se domena ali poddomena, ki so jo postavili v vrstico 5, nahaja na tem strežniku (ta strežnik = naslov IP zadevnega strežnika)

Pripravljen, zdaj bomo znova zagnali Nginx:

/etc/init.d/nginx restart

Če želimo preveriti, ali naš Nginx pravilno obdeluje PHP, kopirajmo datoteko phptest.php v gostovano mapo, to je tisto, ki je navedena v vrstici št. 6 datoteke mywebsite_plus_php.net (na primer root / var / www /), ob predpostavki, da bi spletno mesto gostovalo neposredno v / var / www /:

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

Če domnevamo, da smo v vrstici 5 našega spletnega mesta_plus_php.net (to je vrstica ime_sržnika) rekli, da je naše spletno mesto www.mysite.net, potem moramo dostopati do spletnega mesta www.mysite.net/phptest.php. Z drugimi besedami, ideja je dostopati do datoteke phptest.php iz našega brskalnika in če se prikaže naslednje, se je naš Nginx popolnoma povezal s PHP:

nginx_mysql_spawn-fastcgi_tersting_nginx_php

V primeru, da se to ne prikaže, to je, da brskalnik poskuša prenesti datoteko .php ... to pomeni, da so naredili nekaj narobe, da /etc/nginx/sites-available/mywebsite.net niso zamenjali z ~ / nginx-spawn-fastcgi / mywebsite_plus_php.net… da so pozabili znova zagnati Nginx s ponovnim zagonom /etc/init.d/nginx ali da so pozabili zagnati Spawn-FastCGI z /etc/init.d/spawn-fastcgi start

Zaenkrat vadnico za povezavo Nginxa s PHP z uporabo SpawnFastCGI potrebujemo le MySQL in APC 🙂

Upam, da se vam zdi to zanimivo.


Pustite svoj komentar

Vaš e-naslov ne bo objavljen. Obvezna polja so označena z *

*

*

  1. Za podatke odgovoren: Miguel Ángel Gatón
  2. Namen podatkov: Nadzor neželene pošte, upravljanje komentarjev.
  3. Legitimacija: Vaše soglasje
  4. Sporočanje podatkov: Podatki se ne bodo posredovali tretjim osebam, razen po zakonski obveznosti.
  5. Shranjevanje podatkov: Zbirka podatkov, ki jo gosti Occentus Networks (EU)
  6. Pravice: Kadar koli lahko omejite, obnovite in izbrišete svoje podatke.

  1.   f3niX je dejal

    Če je četrtina, zakaj na sliki piše 3? se je začelo ob 0, mislim? odlična objava.

    pozdrav

    1.    KZKG ^ Gaara je dejal

      1.: Predstavitev
      2.: Nginx
      3.: Nginx + PHP (Spawn_FastCGI)

      🙂

      Hvala za branje ^ _ ^

      1.    Rodrigo je dejal

        kaj se je zgodilo s 4. delom ???
        in s poznejšimi ?????

  2.   rpyanm je dejal

    Hi

    Boljša izbira bi bila, če bi namesto mysqla uporabili MariaDB, kot bi morali vedeti, slednji je vilica prvega in že se govori, da bo Mysql prihodnosti (http://www.genbetadev.com/bases-de-datos/mariadb-sera-el-mysql-del-futuro), saj je Mysql do določene točke brezplačen.

    Podjetje SkySQL, ki zagotavlja storitve na podlagi brezplačnih baz podatkov, je finančno podprlo projekt MariaDB (http://www.genbetadev.com/bases-de-datos/mariadb-y-skysql-unen-fuerzas-para-llevar-a-mariadb-a-lo-mas-alto) in Google, ki se želi ustaviti, odvisno od Mysqla, kot je to storila Wikipedia, in bo s pomočjo MySQL 5.1 na MariaDB 10.0 naredil prehod s pomočjo SkySQL, ki je že strokovnjak na tem področju.

    Pozdravljeni2.

    1.    KZKG ^ Gaara je dejal

      Pozdravljeni,

      Ja, seveda, poznam MariaDB in pravzaprav smo o tem že govorili: https://blog.desdelinux.net/tag/mariadb/

      Vendar trenutno uporabljam MySQL, ker delam te vadnice na podlagi posebne izkušnje, ki sem jo imel pri selitvi. DesdeLinux (z vsemi svojimi storitvami) na druge strežnike, takrat smo popolnoma spremenili tehnologijo in nalog oziroma sprememb, s katerimi sem se moral soočiti, ni bilo malo.
      Preberite ta moj komentar od tistega trenutka: https://blog.desdelinux.net/el-blog-desdelinux-abandona-hostgator-y-pasa-a-gnutransfer/comment-page-1/#comment-81291

      Končna ideja je res da, prehod na MariaDB, vendar nisem imel časa narediti ustreznih testov 🙂

      Hvala za branje

  3.   eliotime3000 je dejal

    Ta vadnica mi bo pomagala namestiti zPanel X z NGINX, da ne bi nasitila svojega spletnega mesta pri prehodu na GNUPanel VPS.

  4.   dragnell je dejal

    Božično darilo? Veselil sem se čestitk vsem.

    1.    KZKG ^ Gaara je dejal

      Hvala partner 😀

  5.   st0rmt4il je dejal

    Dodano med priljubljene!

    Mimogrede, dvomim in imam vprašanje, ali ima Nginx res več zmogljivosti kot Apache?

    Lep pozdrav!

    1.    KZKG ^ Gaara je dejal

      No, Apache je mogoče veliko optimizirati, toda ... do zdaj Google in skoraj vsi se strinjamo, da Nginx porabi veliko manj RAM-a, ima neznatno zmogljivost, čeprav pri konfiguriranju ni povsem tako preprosto.

  6.   louis morales je dejal

    Dober KZKG ^ Gaara odlične informacije za tiste, ki nas zanima ta svet, vprašanje, kdaj 4. objava 😀