Sådan installeres en webserver med Nginx + MySQL + PHP5 + APC + Spawn_FastCGI [4. del: Nginx + PHP med SpawnFastCGI]

For en tid siden Jeg fortalte dig om denne serie af tutorials, om hvordan man installerer og konfigurerer en server til hosting med høj efterspørgsel. Denne artikel handler om installation og konfiguration Nginx + PHP med SpawnFastCGI:

Spawn_FastCGI:

Dette kan siges, at det er det, der forbinder Nginx med PHP, det vil sige, selvom de har PHP5-pakken installeret, hvis de ikke har Spawn_FastCGI installeret og udført, når de åbner et websted i PHP, vil browseren downloade filen, det viser dem ikke noget, som .php er programmeret, fordi serveren ikke ved, hvordan man behandler .php-filer. Derfor er det vigtigt at installere og konfigurere Spawn_FastCGI.

Hvis vi brugte Apache, ville det være noget så simpelt som at installere pakken libapache2-mod-php5, men da vi bruger Nginx, bliver vi i stedet nødt til at installere spawn-fcgi-pakken. I tutorialen forklarer jeg også, hvordan man opretter et indledende script til det i /etc/init.d/, så du kan kontrollere det mere komfortabelt.

1. Installation:

Vi starter med den første ting, installerer Spawn-FastCGI og PHP fra vores arkiver.

Alle kommandoer, der skal udføres, udføres med rodtilladelser, enten ved at placere sudo i begyndelsen af ​​hver linje eller ved at være logget ind som root

Hvis du på din server bruger en distribution som Debian, Ubuntu eller et derivat i terminalen, skal du sætte følgende og trykke på Indtast :

aptitude install spawn-fcgi php5-cgi php5-curl

aptitude er ikke installeret som standard i Ubuntu, men jeg anbefaler, at du installerer det og bruger det i stedet for apt-get, da aptitude bedre styrer afhængigheder ved visse lejligheder

Personligt anbefaler jeg ikke nogen afledte af Debian, ikke engang Ubuntu til servere, gennem årene har mine erfaringer ikke været helt tilfredsstillende. Mit første valg til serveroperativsystem er Debian, så ville jeg tænke på CentOS, endelig noget BSD

2. Konfiguration:

I det forrige trin (da vi installerede Nginx) downloadede vi en fil kaldet nginx-spawn-fastcgi.tar.gz, at når den udpakkes, oprettede den mappen nginx-spawn-fastcgi i vores hjem, vi kopierer filen fra den spawn-fastcgi til /etc/init.d/:

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

Vi har også brug for den php-fastcgi eksekverbare i / usr / bin /

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

Perfekt, vi har filen klar, der giver os mulighed for at kontrollere spawn-fastcgi og også php-fastcgi eksekverbar, nu skal vi starte spawn-fastcgi:

/etc/init.d/spawn-fastcgi start

Det vil vise os noget som: spawn-fcgi: barn gydt med succes: PID: 3739

Nu skal vi erstatte vores /etc/nginx/sites-available/mywebsite.net fil 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 vores tidligere mywebsite.net-fil ikke understøtter PHP, det vil sige, det er kun Nginx, mens filen mywebsite_plus_php.net ikke understøtter PHP, det vil sige Nginx + PHP ved hjælp af SpawnFastCGI.

Forskellene mellem disse filer er flere, for eksempel:

  • I linje 3 tilføjes filen, der understøtter PHP, index.php
  • En ny linje under nr. 3, der indeholder: fastcgi_index index.php;
  • Flere andre nye linjer, der fortæller Nginx, hvordan man behandler PHP.
  • ... Kort sagt, her er et foto, der hjælper dig med at kende forskellene mellem de to filer:

nginx_mysql_spawn-fastcgi_comparing_mywebsite_confs

Mywebsite_plus_php.net-filen er en vhost, der fungerer som et eksempel, det vil sige og med andre ord skal vi ændre den og etablere vores konfigurationer.

Vi skal ændre følgende:

  • access_log (linje 3): Dette er stien til adgangslogfilen til dette websted
  • error_log (linje 4): Dette vil være stien til fejllogfilen til dette websted
  • server_name (linje 5): URL-adressen, domænet, der er hostet i den mappe, for eksempel, hvis det var forummet DesdeLinux det ville være: forum server_name.desdelinux. net
  • root (linje 6): Stien til mappen, hvor html-filerne er, lad os lade dette være i / var / www / da det kun vil være en test
De skal naturligvis have peget i deres DNS-poster fra deres hostingudbyder (ved hjælp af CPanel eller et andet værktøj), at domænet eller underdomænet, der er angivet i servernavn, er placeret på IP-adressen på denne server, som de konfigurerer. Det vil sige, i DNS, hvor de opretter underdomæner til deres domæne, skal de erklære, at det domæne eller underdomæne, som de har sat i linje 5, er placeret på denne server (denne server = IP-adressen på den pågældende server)

Klar, nu genstarter vi Nginx:

/etc/init.d/nginx restart

For at kontrollere, at vores Nginx behandler PHP korrekt, lad os kopiere filen phptest.php til den hostede mappe, det vil sige den, der er angivet i linje nr. 6 i mywebsite_plus_php.net-filen (for eksempel root / var / www /), forudsat at webstedet er hostet direkte i / var / www / ville være:

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

Antager vi, at vi i linje 5 på vores mywebsite_plus_php.net (dvs. server_name-linjen) har sagt, at vores site er www.mysite.net, så skal vi få adgang til www.mysite.net/phptest.php. Med andre ord er ideen at få adgang til filen phptest.php fra vores browser, og hvis følgende vises, er vores Nginx perfekt forbundet med PHP:

nginx_mysql_spawn-fastcgi_tersting_nginx_php

Hvis dette ikke ser ud, dvs. at browseren prøver at downloade .php-filen ... betyder det, at de gjorde noget forkert, at de ikke erstattede /etc/nginx/sites-available/mywebsite.net med ~ / nginx-spawn-fastcgi / mywebsite_plus_php.net ... at de glemte at genstarte Nginx med /etc/init.d/nginx genstart, eller at de glemte at starte Spawn-FastCGI med /etc/init.d/spawn-fastcgi start

Indtil videre er tutorial til at linke Nginx med PHP ved hjælp af SpawnFastCGI, vi har kun brug for MySQL og APC 🙂

Jeg håber, du finder det interessant.


Efterlad din kommentar

Din e-mailadresse vil ikke blive offentliggjort. Obligatoriske felter er markeret med *

*

*

  1. Ansvarlig for dataene: Miguel Ángel Gatón
  2. Formålet med dataene: Control SPAM, management af kommentarer.
  3. Legitimering: Dit samtykke
  4. Kommunikation af dataene: Dataene vil ikke blive kommunikeret til tredjemand, undtagen ved juridisk forpligtelse.
  5. Datalagring: Database hostet af Occentus Networks (EU)
  6. Rettigheder: Du kan til enhver tid begrænse, gendanne og slette dine oplysninger.

  1.   f3niX sagde han

    Hvis det er en fjerdedel, hvorfor siger billedet 3? startede ved 0 antager jeg? fremragende post.

    hilsen

    1.    KZKG ^ Gaara sagde han

      1.: Præsentation
      2.: Nginx
      3.: Nginx + PHP (Spawn_FastCGI)

      🙂

      Tak for læsningen ^ _ ^

      1.    Rodrigo sagde han

        hvad skete der med del 4 ???
        og med den efterfølgende ?????

  2.   rpyanm sagde han

    Hej

    Det ville være et bedre valg, hvis du i stedet for mysql brugte MariaDB, som du skulle vide, at sidstnævnte er en fork af den første, og der er allerede tale om, at det vil være fremtidens Mysql (http://www.genbetadev.com/bases-de-datos/mariadb-sera-el-mysql-del-futuro) da Mysql er gratis, op til et punkt.

    SkySQL, et firma, der leverer tjenester fra gratis databaser, støttede økonomisk MariaDB-projektet (http://www.genbetadev.com/bases-de-datos/mariadb-y-skysql-unen-fuerzas-para-llevar-a-mariadb-a-lo-mas-alto) og Google, der ønsker at stoppe afhængigt af Mysql, som Wikipedia også gjorde, og vil foretage overgangen fra MySQL 5.1 til MariaDB 10.0 ved hjælp af netop SkySQL, som allerede er eksperter på dette område.

    hej 2.

    1.    KZKG ^ Gaara sagde han

      Hej,

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

      Men lige nu bruger jeg MySQL, fordi jeg laver disse tutorials fra den særlige oplevelse, jeg havde, da jeg migrerede. DesdeLinux (med alle dens tjenester) til andre servere, på det tidspunkt ændrede vi teknologien fuldstændig, og de opgaver eller ændringer, jeg skulle stå over for, var ikke få.
      Læs min kommentar fra det øjeblik: https://blog.desdelinux.net/el-blog-desdelinux-abandona-hostgator-y-pasa-a-gnutransfer/comment-page-1/#comment-81291

      Den endelige idé er ja, migrer mig til MariaDB, men jeg har ikke haft tid til at lave de relevante tests 🙂

      Tak for læsningen

  3.   eliotime3000 sagde han

    Denne tutorial hjælper mig med at installere zPanel X med NGINX for ikke at mætte mit websted, når jeg migrerer til GNUPanel VPS.

  4.   dragnell sagde han

    Julegaven? Jeg glædede mig til lykønskning til alle.

    1.    KZKG ^ Gaara sagde han

      Tak partner 😀

  5.   st0rmt4il sagde han

    Tilføjet til favoritter!

    Forresten har jeg denne tvivl og det spørgsmål, har Nginx virkelig mere ydeevne end Apache?

    Greetings!

    1.    KZKG ^ Gaara sagde han

      Nå, Apache kan optimeres meget, men ... indtil nu er Google det og næsten alle os enige om, at Nginx bruger meget mindre RAM, har en ikke ubetydelig ydelse, selvom det ikke er helt så simpelt, når man konfigurerer.

  6.   louis morales sagde han

    God KZKG ^ Gaara fremragende information til dem af os, der er interesserede i denne verden, et spørgsmål, når 4. post 😀