Ako nainštalovať webový server s Nginx + MySQL + PHP5 + APC + Spawn_FastCGI [4. časť: Nginx + PHP s SpawnFastCGI]

Pred chvíľou Hovoril som vám o tejto sérii návodov, o tom, ako nainštalovať a nakonfigurovať server pre vysoký dopyt. Tento článok bude o inštalácii a konfigurácii Nginx + PHP s SpawnFastCGI:

Spawn_FastCGI:

Dá sa povedať, že to spája Nginx s PHP, to znamená, že aj keď majú nainštalovaný balík PHP5, ak nemajú nainštalovaný a spustený Spawn_FastCGI pri otvorení stránky v PHP, prehliadač si súbor stiahne, neukáže im nič, čo .php bol naprogramovaný, pretože server nevie, ako spracovať súbory .php, preto je nevyhnutné nainštalovať a nakonfigurovať Spawn_FastCGI.

Keby sme použili Apache, bolo by to niečo také jednoduché ako inštalácia balíka libapache2-mod-php5, ale keďže používame Nginx, budeme si musieť namiesto toho nainštalovať balíček spawn-fcgi. V tomto návode tiež vysvetlím, ako preň vytvoriť počiatočný skript v priečinku /etc/init.d/, aby ste ho mohli ovládať pohodlnejšie.

1. Inštalácia:

Začneme prvou vecou, ​​inštaláciou Spawn-FastCGI a PHP z našich úložísk.

Všetky príkazy, ktoré sa vykonajú, sa vykonávajú s oprávneniami root, a to buď vložením sudo na začiatok každého riadku, alebo prihlásením ako root

Ak na svojom serveri používate v termináli distribúciu ako Debian, Ubuntu alebo nejaký derivát, musíte vložiť nasledovné a stlačiť vstúpiť :

aptitude install spawn-fcgi php5-cgi php5-curl

aptitude nie je v Ubuntu predvolene nainštalovaný, odporúčam vám ho však nainštalovať a použiť namiesto apt-get, pretože aptitude pri určitých príležitostiach lepšie spravuje závislosti.

Osobne neodporúčam žiadny derivát Debianu, dokonca ani Ubuntu pre servery, moje skúsenosti za tie roky neboli celkom uspokojivé. Moja prvá voľba pre serverové operačné systémy je Debian, potom by som myslel na CentOS, nakoniec nejaké BSD

2. Konfigurácia:

V predchádzajúcom kroku (keď sme nainštalovali Nginx) sme si stiahli súbor s názvom nginx-spawn-fastcgi.tar.gz, ktorý po rozbalení vytvoril v našej domácnosti priečinok nginx-spawn-fastcgi, skopírujeme z neho súbor spawn-fastcgi do /etc/init.d/:

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

Potrebujeme tiež spustiteľný súbor php-fastcgi v adresári / usr / bin /

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

Dokonalé, máme pripravený súbor, ktorý nám umožní ovládať spawn-fastcgi a tiež spustiteľný súbor php-fastcgi, teraz začneme spawn-fastcgi:

/etc/init.d/spawn-fastcgi start

Ukáže nám to niečo ako: spawn-fcgi: dieťa sa úspešne objavilo: PID: 3739

Teraz nahradíme náš súbor /etc/nginx/sites-available/mywebsite.net súborom ~ / nginx-spawn-fastcgi / mywebsite_plus_php.net

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

Prečo? Jednoduché, pretože náš predchádzajúci súbor mywebsite.net nemá podporu pre PHP, to znamená, že je to iba Nginx, zatiaľ čo súbor mywebsite_plus_php.net podporuje PHP, teda Nginx + PHP pomocou SpawnFastCGI.

Rozdiely medzi týmito súbormi sú niekoľko, napríklad:

  • Do riadku 3 sa pridá súbor, ktorý podporuje PHP, index.php
  • Nový riadok pod číslom 3, ktorý obsahuje: fastcgi_index index.php;
  • Niekoľko ďalších nových riadkov, ktoré informujú Nginx o tom, ako spracovať PHP.
  • … .. Stručne povedané, tu je fotografia, ktorá vám pomôže spoznať rozdiely medzi týmito dvoma súbormi:

nginx_mysql_spawn-fastcgi_comparing_mywebsite_confs

Súbor mywebsite_plus_php.net je vhost, ktorý slúži ako príklad, to znamená, inými slovami, musíme ho upraviť a vytvoriť našu konfiguráciu.

Musíme zmeniť toto:

  • access_log (riadok 3): Toto bude cesta k súboru protokolu prístupu na túto stránku
  • error_log (riadok 4): Toto bude cesta k súboru denníka chýb na túto lokalitu
  • server_name (riadok 5): URL, doména, ktorá je hosťovaná v tomto priečinku, napríklad ak by to bolo fórum DesdeLinux bolo by to: forum server_name.desdelinux.net
  • root (riadok 6): Cesta k priečinku, kde sú súbory html, toto nechajme v / var / www /, pretože to bude iba test
Je zrejmé, že musia vo svojich záznamoch DNS svojho poskytovateľa hostiteľských služieb (pomocou CPanelu alebo iného nástroja) ukazovať na to, že doména alebo subdoména deklarovaná v serveri_name je umiestnená na IP tohto servera, ktorý konfigurujú. To znamená, že v DNS, kde vytvárajú subdomény pre svoju doménu, musia vyhlásiť, že doména alebo subdoména, ktorú vložili do riadku 5, sa nachádza na tomto serveri (tento server = adresa IP príslušného servera)

Pripravený, teraz reštartujeme Nginx:

/etc/init.d/nginx restart

Ak chcete skontrolovať, či náš Nginx správne spracováva PHP, skopírujte súbor phptest.php do hosteného priečinka, to znamená do súboru uvedeného v riadku č. 6 súboru mywebsite_plus_php.net (napríklad root / var / www /), za predpokladu, že by bol web hostený priamo v / var / www / bol:

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

Za predpokladu, že v riadku 5 nášho webu mywebsite_plus_php.net (tj. Riadok server_name) sme povedali, že náš server je www.mysite.net, potom musíme prejsť na www.mysite.net/phptest.php. Inými slovami, ide o prístup k súboru phptest.php z nášho prehliadača, a ak sa objaví nasledovné, náš Nginx je dokonale prepojený s PHP:

nginx_mysql_spawn-fastcgi_tersting_nginx_php

Ak sa to nezobrazí, to znamená, že sa prehliadač pokúsi stiahnuť súbor .php ... znamená to, že urobili niečo zlé, že nenahradili /etc/nginx/sites-available/mywebsite.net znakom ~ / nginx-spawn-fastcgi / mywebsite_plus_php.net… že ste zabudli reštartovať Nginx s /etc/init.d/nginx reštartom alebo že ste zabudli spustiť Spawn-FastCGI so spustením /etc/init.d/spawn-fastcgi

Zatiaľ tutoriál na prepojenie Nginxu s PHP pomocou SpawnFastCGI, potrebujeme iba MySQL a APC 🙂

Dúfam, že je to pre vás zaujímavé.


Zanechajte svoj komentár

Vaša e-mailová adresa nebude zverejnená. Povinné položky sú označené *

*

*

  1. Zodpovedný za údaje: Miguel Ángel Gatón
  2. Účel údajov: Kontrolný SPAM, správa komentárov.
  3. Legitimácia: Váš súhlas
  4. Oznamovanie údajov: Údaje nebudú poskytnuté tretím stranám, iba ak to vyplýva zo zákona.
  5. Ukladanie dát: Databáza hostená spoločnosťou Occentus Networks (EU)
  6. Práva: Svoje údaje môžete kedykoľvek obmedziť, obnoviť a vymazať.

  1.   f3niX dijo

    Ak je to štvrtina, prečo je na obrázku obrázok 3? začal na 0 myslím? vynikajúci príspevok.

    pozdravy

    1.    KZKG ^ Gaara dijo

      1st: Prezentácia
      2. miesto: Nginx
      3. miesto: Nginx + PHP (Spawn_FastCGI)

      ????

      Ďakujeme za prečítanie ^ _ ^

      1.    Rodrigo dijo

        čo sa stalo s časťou 4 ???
        a s následným ?????

  2.   rpyanm dijo

    Dobrý deň:

    Bola by to lepšia voľba, keby ste namiesto mysql použili MariaDB, pretože by ste mali vedieť, že druhý je vidličkou prvého a už sa hovorí o tom, že to bude mysql budúcnosti (http://www.genbetadev.com/bases-de-datos/mariadb-sera-el-mysql-del-futuro) keďže Mysql je až do určitej miery zadarmo.

    Spoločnosť SkySQL, ktorá poskytuje služby z bezplatných databáz, finančne podporila projekt MariaDB (http://www.genbetadev.com/bases-de-datos/mariadb-y-skysql-unen-fuerzas-para-llevar-a-mariadb-a-lo-mas-alto) a Google, ktorý sa chce prestať spoliehať na Mysql, ako to urobila aj Wikipedia, a uskutoční prechod z MySQL 5.1 na MariaDB 10.0 práve s pomocou SkySQL, ktorí sú už v tejto oblasti odborníkmi.

    ahoj2.

    1.    KZKG ^ Gaara dijo

      Dobrý deň,

      Áno, samozrejme, poznám MariaDB a v skutočnosti sme o tom už hovorili: https://blog.desdelinux.net/tag/mariadb/

      No obstante, ahora mismo estoy usando MySQL pues estos tutoriales los hago desde la experiencia particular que tuve al migrar DesdeLinux (con todos sus servicios) hacia otros servidores, en ese momento cambiamos la tecnología completamente y las tareas o cambios que tuve que afrontar no fueron pocos.
      Prečítajte si tento môj komentár od tej chvíle: https://blog.desdelinux.net/el-blog-desdelinux-abandona-hostgator-y-pasa-a-gnutransfer/comment-page-1/#comment-81291

      Konečná myšlienka je skutočne áno, prejdite na MariaDB, ale nemal som čas na vykonanie príslušných testov 🙂

      Vďaka za prečítanie

  3.   eliotime3000 dijo

    Tento tutoriál mi pomôže nainštalovať zPanel X s NGINX, aby som pri migrácii na GNUPanel VPS nenasýtil moje stránky.

  4.   dragnell dijo

    Vianočný darček? Tešil som sa všetkým gratuláciám.

    1.    KZKG ^ Gaara dijo

      Vďaka partner 😀

  5.   st0rmt4il dijo

    Pridané k obľúbeným!

    Mimochodom, mám túto pochybnosť a otázku, má Nginx skutočne vyšší výkon ako Apache?

    Zdravím!

    1.    KZKG ^ Gaara dijo

      Apache sa dá veľa optimalizovať, ale ... až doteraz Google a takmer každý z nás súhlasí s tým, že Nginx spotrebuje oveľa menej RAM, má nezanedbateľný výkon, aj keď to pri konfigurácii nie je také jednoduché.

  6.   louis morales dijo

    Dobrá KZKG ^ Gaara vynikajúca informácia pre tých z nás, ktorí sa zaujímajú o tento svet, otázka, kedy 4. príspevok 😀