Slik installerer du en webserver med Nginx + MySQL + PHP5 + APC + Spawn_FastCGI [4. del: Nginx + PHP med SpawnFastCGI]

For en tid siden Jeg fortalte deg om denne veiledningen, om hvordan du installerer og konfigurerer en server for hosting med høy etterspørsel. Denne artikkelen vil handle om installering og konfigurering Nginx + PHP med SpawnFastCGI:

Spawn_FastCGI:

Dette kan sies å være det som forener Nginx med PHP, det vil si, selv om de har PHP5-pakken installert hvis de ikke har Spawn_FastCGI installert og utført når de åpner et nettsted i PHP, vil nettleseren laste ned filen, den vil ikke vise dem noe som .php er programmert fordi serveren ikke vet hvordan man skal behandle .php-filer, og det er derfor det er viktig å installere og konfigurere Spawn_FastCGI.

Hvis vi brukte Apache, ville det være noe så enkelt som å installere libapache2-mod-php5-pakken, men siden vi bruker Nginx, må vi installere spawn-fcgi-pakken i stedet. I opplæringen vil jeg også forklare hvordan du lager et innledende skript for det i /etc/init.d/ slik at du kan kontrollere det mer komfortabelt.

1. Installasjon:

Vi begynner med det første, installerer Spawn-FastCGI og PHP fra våre arkiver.

Alle kommandoene som skal utføres kjøres med rottillatelser, enten ved å sette sudo i begynnelsen av hver linje eller ved å være logget inn som root

Hvis du bruker en distribusjon som på Debian, Ubuntu eller andre derivater på terminalen din, må du sette følgende og trykke Enter :

aptitude install spawn-fcgi php5-cgi php5-curl

aptitude er ikke installert som standard i Ubuntu, men jeg anbefaler at du installerer den og bruker den i stedet for apt-get, da aptitude gjør bedre styring av avhengigheter ved visse anledninger

Personlig anbefaler jeg ikke noe derivat av Debian, ikke engang Ubuntu for servere, gjennom årene har erfaringene mine ikke helt tilfredsstillende. Mitt første valg for serveroperativsystemer er Debian, så vil jeg tenke på CentOS, til slutt noen BSD

2. Konfigurasjon:

I forrige trinn (da vi installerte Nginx) lastet vi ned en fil kalt nginx-spawn-fastcgi.tar.gz at når den ble pakket ut, skapte den mappen nginx-spawn-fastcgi hjemme hos oss, vi kopierer filen fra den spawn-fastcgi til /etc/init.d/:

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

Vi trenger også kjørbar php-fastcgi i / usr / bin /

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

Perfekt, vi har klar filen som lar oss kontrollere spawn-fastcgi og også kjørbar php-fastcgi, nå skal vi starte spawn-fastcgi:

/etc/init.d/spawn-fastcgi start

Det vil vise oss noe sånt som: spawn-fcgi: barn gydde vellykket: PID: 3739

Nå skal vi erstatte /etc/nginx/sites-available/mywebsite.net filen med ~ / nginx-spawn-fastcgi / mywebsite_plus_php.net

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

Hvorfor? Enkelt fordi vår forrige mywebsite.net-fil ikke har støtte for PHP, det vil si at den bare er Nginx, mens filen mywebsite_plus_php.net har støtte for PHP, det vil si Nginx + PHP ved bruk av SpawnFastCGI.

Forskjellene mellom disse filene er flere, for eksempel:

  • I linje 3 legges filen som støtter PHP til index.php
  • En ny linje under nr. 3 som inneholder: fastcgi_index index.php;
  • Flere andre nye linjer som forteller Nginx hvordan PHP skal behandles.
  • ... .. Kort sagt, her er et bilde som vil hjelpe deg å kjenne forskjellene mellom begge filene:

nginx_mysql_spawn-fastcgi_comparing_mywebsite_confs

Mywebsite_plus_php.net-filen er en vhost som fungerer som et eksempel, det vil si og med andre ord, vi må endre den og etablere våre konfigurasjoner.

Vi må endre følgende:

  • access_log (linje 3): Dette vil være stien til tilgangsloggfilen til dette nettstedet
  • error_log (linje 4): Dette vil være banen til feilloggfilen til dette nettstedet
  • server_name (linje 5): URL-en, domenet som er vert i den mappen, for eksempel hvis det var forumet DesdeLinux det ville være: forum server_name.desdelinux. Net
  • root (linje 6): Stien til mappen der html-filene er, la oss la dette være i / var / www / da det bare vil være en test
Åpenbart må de peke i DNS-postene til vertsleverandøren (ved hjelp av CPanel eller et annet verktøy) at domenet eller underdomenet deklarert i servernavn ligger på IP-en til denne serveren som de konfigurerer. Det vil si at i DNS der de oppretter underdomener for domenet sitt, må de erklære at domenet eller underdomenet de har lagt i linje 5 ligger på denne serveren (denne serveren = IP-adressen til den aktuelle serveren)

Klar, nå starter vi Nginx på nytt:

/etc/init.d/nginx restart

For å bekrefte at Nginx behandler PHP riktig, la oss kopiere filen phptest.php til den vertsmappen, det vil si den som er angitt i linje nr. 6 i mywebsite_plus_php.net-filen (for eksempel root / var / www /), forutsatt at nettstedet er vert direkte i / var / www / ville være:

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

Anta at vi i linje 5 på mywebsite_plus_php.net (det vil si servernavnlinjen) har sagt at nettstedet vårt er www.mysite.net, så må vi få tilgang til www.mysite.net/phptest.php. Med andre ord er ideen å få tilgang til filen phptest.php fra nettleseren vår, og hvis følgende vises, er vår Nginx perfekt knyttet til PHP:

nginx_mysql_spawn-fastcgi_tersting_nginx_php

I tilfelle dette ikke vises, det vil si at nettleseren prøver å laste ned .php-filen ... dette betyr at de gjorde noe galt, at de ikke erstattet /etc/nginx/sites-available/mywebsite.net med ~ / nginx-spawn-fastcgi / mywebsite_plus_php.net ... at de glemte å starte Nginx på nytt med /etc/init.d/nginx restart eller at de glemte å starte Spawn-FastCGI med /etc/init.d/spawn-fastcgi start

Så langt har veiledningen å koble Nginx til PHP ved hjelp av SpawnFastCGI, vi trenger bare MySQL og APC 🙂

Jeg håper du synes dette er interessant.


Legg igjen kommentaren

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *

*

*

  1. Ansvarlig for dataene: Miguel Ángel Gatón
  2. Formålet med dataene: Kontroller SPAM, kommentaradministrasjon.
  3. Legitimering: Ditt samtykke
  4. Kommunikasjon av dataene: Dataene vil ikke bli kommunisert til tredjeparter bortsett fra ved juridisk forpliktelse.
  5. Datalagring: Database vert for Occentus Networks (EU)
  6. Rettigheter: Når som helst kan du begrense, gjenopprette og slette informasjonen din.

  1.   f3niX sa

    Hvis det er et kvartal, hvorfor sier bildet 3? startet klokka 0 antar jeg? utmerket innlegg.

    Hilsen

    1.    KZKG ^ Gaara sa

      1.: Presentasjon
      Andre: Nginx
      Tredje: Nginx + PHP (Spawn_FastCGI)

      ????

      Takk for at du leser ^ _ ^

      1.    Rodrigo sa

        hva skjedde med del 4 ???
        og med den påfølgende ?????

  2.   rpyanm sa

    Hei

    Det ville være et bedre valg hvis du brukte MariaDB i stedet for mysql, som du burde vite, er sistnevnte en fork av det første, og det er allerede snakk om at det vil være fremtidens Mysql (http://www.genbetadev.com/bases-de-datos/mariadb-sera-el-mysql-del-futuro) ettersom Mysql er gratis, opp til et punkt.

    SkySQL, et selskap som tilbyr tjenester basert på gratis databaser, støttet MariaDB-prosjektet økonomisk (http://www.genbetadev.com/bases-de-datos/mariadb-y-skysql-unen-fuerzas-para-llevar-a-mariadb-a-lo-mas-alto) og Google som ønsker å stoppe avhengig av Mysql, slik Wikipedia også gjorde, og vil gjøre overgangen fra MySQL 5.1 til MariaDB 10.0 ved hjelp av nettopp SkySQL, som allerede er eksperter på dette feltet.

    hei 2.

    1.    KZKG ^ Gaara sa

      Hei,

      Ja selvfølgelig, jeg kjenner MariaDB, og faktisk har vi allerede snakket om det: https://blog.desdelinux.net/tag/mariadb/

      Men akkurat nå bruker jeg MySQL fordi jeg gjør disse opplæringene fra den spesielle opplevelsen jeg hadde da jeg migrerte. DesdeLinux (med alle sine tjenester) til andre servere, på den tiden endret vi teknologien fullstendig og oppgavene eller endringene jeg måtte møte var ikke få.
      Les denne kommentaren min fra det øyeblikket: https://blog.desdelinux.net/el-blog-desdelinux-abandona-hostgator-y-pasa-a-gnutransfer/comment-page-1/#comment-81291

      Den endelige ideen er ja, migrere til MariaDB, men jeg har ikke hatt tid til å gjøre de aktuelle testene 🙂

      Takk for at du leste

  3.   eliotime3000. sa

    Denne opplæringen vil hjelpe meg å installere zPanel X med NGINX for ikke å mette nettstedet mitt når jeg migrerer til GNUPanel VPS.

  4.   dragnell sa

    Julegaven? Jeg gledet meg til gratulasjoner til alle.

    1.    KZKG ^ Gaara sa

      Takk partner 😀

  5.   st0rmt4il sa

    Lagt til i favoritter!

    Forresten, jeg har denne tvilen og spørsmålet, har Nginx virkelig mer ytelse enn Apache?

    Greetings!

    1.    KZKG ^ Gaara sa

      Vel, Apache kan optimaliseres mye, men ... inntil nå, Google det og nesten alle av oss er enige om at Nginx bruker mye mindre RAM, har en ikke ubetydelig ytelse, selv om det ikke er så enkelt når du konfigurerer.

  6.   louis morales sa

    Bra KZKG ^ Gaara utmerket informasjon for de av oss som er interessert i denne verden, et spørsmål, når 4. innlegg 😀