Webszerver telepítése az Nginx + MySQL + PHP5 + APC + Spawn_FastCGI használatával [4. rész: Nginx + PHP a SpawnFastCGI használatával]

Egy ideje Mondtam neked erről az oktatósorozatról, a szerver telepítéséről és konfigurálásáról a nagy igényű tárhely számára. Ez a cikk a telepítésről és a konfigurálásról fog szólni Nginx + PHP a SpawnFastCGI:

Spawn_fastcgi:

Ez mondhatni az, ami összeköti az Nginx-et a PHP-vel, vagyis akkor is, ha telepítve van a PHP5 csomag, ha nincs telepítve és futtatva a Spawn_FastCGI, a PHP-ben megnyitásakor a böngésző letölti a fájlt, ne mutassa meg nekik, hogy a .php be van programozva, mert a szerver nem tudja, hogyan dolgozza fel a .php fájlokat, ezért elengedhetetlen a Spawn_FastCGI telepítése és konfigurálása.

Ha Apache-t használunk, valami olyan egyszerű, mint a libapache2-mod-php5 csomag telepítése, de mivel az Nginx-et használjuk, helyette telepítenünk kell a spawn-fcgi csomagot. Ezenkívül az oktatóanyagban elmagyarázom, hogyan készítsünk hozzá egy kezdeti szkriptet az /etc/init.d/ fájlban, hogy kényelmesebb módon vezérelhessük.

1. Telepítés:

Az első dologgal kezdjük, telepítsük a Spawn-FastCGI-t és a PHP-t a tárházunkba.

Az összes végrehajtandó parancsot root jogosultságokkal hajtják végre, akár a sudo-t az egyes sorok elejére, akár root-ként bejelentkezve.

Ha a kiszolgálón olyan disztribúciót használ, mint a Debian, az Ubuntu vagy valamilyen származék a terminálban, akkor tegye a következőket és nyomja meg belép :

aptitude install spawn-fcgi php5-cgi php5-curl

Az aptitude alapértelmezés szerint nincs telepítve az Ubuntuban, de azt javaslom, hogy telepítse és használja az apt-get helyett, mert az aptitude bizonyos esetekben jobban kezeli a függőségeket

Személy szerint nem ajánlom a Debian egyik származékát, még az Ubuntut sem szerverekhez, az évek során tapasztalataim nem voltak teljesen kielégítőek. Az első választásom a kiszolgáló operációs rendszerrel kapcsolatban a Debian, akkor a CentOS-ra gondolnék, végül egy kis BSD-re

2. Konfiguráció:

Az előző lépésben (amikor telepítettük az Nginx-et) letöltöttünk egy nginx-spawn-fastcgi.tar.gz nevű fájlt, amelynek kibontásakor létrehozta otthonunkban az nginx-spawn-fastcgi mappát, majd lemásoljuk róla a fájlt spawn-fastcgi az /etc/init.d/ címre:

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

Szükségünk van a php-fastcgi futtatható fájlra az / usr / bin / könyvtárban.

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

Tökéletes, hogy elkészítettük a fájlt, amely lehetővé teszi számunkra a spawn-fastcgi és a php-fastcgi futtatható fájlok vezérlését.

/etc/init.d/spawn-fastcgi start

Valami ilyesmit mutat nekünk: spawn-fcgi: gyermek sikeresen szült: PID: 3739

Most az /etc/nginx/sites-available/mywebsite.net fájlunkat lecseréljük a ~ / nginx-spawn-fastcgi / mywebsite_plus_php.net fájlra.

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

Miért? Egyszerű, mert korábbi mywebsite.net fájlunk nem támogatja a PHP-t, vagyis csak az Nginx, míg a mywebsite_plus_php.net fájl támogatja a PHP-t, vagyis az Nginx + PHP-t a SpawnFastCGI segítségével.

A fájlok között számos különbség van, például:

  • A 3. sorban a PHP-t támogató fájl hozzáadódik az index.php
  • Egy új sor a 3. alatt, amely a következőket tartalmazza: fastcgi_index index.php;
  • Számos új sor, amely megmondja az Nginx-nek, hogyan kell feldolgozni a PHP-t.
  • … .. Egyébként itt van egy fénykép, amely segít megismerni a két fájl közötti különbségeket:

nginx_mysql_spawn-fastcgi_comparing_mywebsite_confs

A mywebsite_plus_php.net fájl egy vhost, amely példaként szolgál, vagyis más szavakkal módosítanunk kell és létre kell hoznunk a konfigurációinkat.

Meg kell változtatnunk a következőket:

  • access_log (3. sor): Ez lesz a hozzáférési naplófájl elérési útja a webhelyhez
  • error_log (4. sor): Ez lesz a hibanapló-fájl elérési útja ezen a webhelyen
  • szerver_neve (5. sor): A mappában tárolt URL, domain, például ha ez lenne a fórum DesdeLinux ez lenne: fórum szerver_neve.desdelinux. Net
  • root (6. sor): A mappa elérési útja, ahol a html fájlok találhatók, hagyjuk ezt a / var / www / könyvtárban, mivel csak teszt lesz
Nyilvánvaló, hogy a tárhelyszolgáltatójuk DNS-nyilvántartásában (CPanel vagy más eszköz segítségével) meg kell jelölniük, hogy a server_name néven deklarált tartomány vagy aldomain ennek a szervernek az IP-jén található, amelyet konfigurálnak. Vagyis abban a DNS-ben, ahol aldomaineket hoznak létre a tartományukhoz, nyilatkozniuk kell arról, hogy az 5. sorba helyezett tartomány vagy aldomain ezen a szerveren található (ez a kiszolgáló = a kérdéses kiszolgáló IP-címe)

Kész, most újraindítjuk az Nginx-et:

/etc/init.d/nginx restart

Annak ellenőrzésére, hogy az Nginx megfelelően dolgozza fel a PHP-t, másoljuk át a phptest.php fájlt a hosztolt mappába, vagyis a mywebsite_plus_php.net fájl 6. sorában feltüntetett fájlba (például root / var / www /), feltételezve, hogy a webhelyet közvetlenül a / var / www / könyvtárban tárolták volna:

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

Tegyük fel, hogy a mywebsite_plus_php.net 5. sorunkban (vagyis a szerver_neve sorban) azt mondtuk, hogy webhelyünk www.mysite.net, akkor a www.mysite.net/phptest.php fájlt kell elérnünk. Más szóval, az elképzelés az, hogy a böngészőnkből hozzáférünk a phptest.php fájlhoz, és ha a következők jelennek meg, akkor az Nginxünk tökéletesen kapcsolódik a PHP-hez:

nginx_mysql_spawn-fastcgi_tersting_nginx_php

Abban az esetben, ha ez nem jelenik meg, vagyis hogy a böngésző megpróbálja letölteni a .php fájlt ... ez azt jelenti, hogy valamit rosszul csináltak, hogy nem helyettesítették az /etc/nginx/sites-available/mywebsite.net szót ~ -val / nginx-spawn-fastcgi / mywebsite_plus_php.net ... hogy elfelejtették újraindítani az Nginx-et az /etc/init.d/nginx restart alkalmazással, vagy elfelejtették elindítani a Spawn-FastCGI-t az /etc/init.d/spawn-fastcgi start paranccsal.

Eddig a Nginx és a PHP összekapcsolása a SpawnFastCGI használatával csak MySQL-re és APC-re van szükségünk 🙂

Remélem, érdekesnek találja ezt.


Hagyja megjegyzését

E-mail címed nem kerül nyilvánosságra. Kötelező mezők vannak jelölve *

*

*

  1. Az adatokért felelős: Miguel Ángel Gatón
  2. Az adatok célja: A SPAM ellenőrzése, a megjegyzések kezelése.
  3. Legitimáció: Az Ön beleegyezése
  4. Az adatok közlése: Az adatokat csak jogi kötelezettség alapján továbbítjuk harmadik felekkel.
  5. Adattárolás: Az Occentus Networks (EU) által üzemeltetett adatbázis
  6. Jogok: Bármikor korlátozhatja, helyreállíthatja és törölheti adatait.

  1.   f3niX dijo

    Ha negyed, akkor miért mondja a kép a 3-at? 0-tól kezdődött azt hiszem? kiváló poszt.

    Üdvözlet

    1.    KZKG ^ Gaara dijo

      1.: Prezentáció
      2.: Nginx
      3.: Nginx + PHP (Spawn_FastCGI)

      ????

      Köszönjük, hogy elolvastad ^ _ ^

      1.    Rodrigo dijo

        mi történt a 4. résszel ???
        és az ezt követő ?????

  2.   rpyanm dijo

    Szia

    Jobb választás lenne, ha a mysql helyett a MariaDB-t használnád, amint azt tudnod kell, ez utóbbi az első villája, és máris szó esik arról, hogy ez lesz a jövő MySQL-je (http://www.genbetadev.com/bases-de-datos/mariadb-sera-el-mysql-del-futuro), mivel a Mysql szabad, egy pontig.

    Az ingyenes adatbázisokból szolgáltatásokat nyújtó SkySQL vállalat pénzügyileg támogatta a MariaDB projektet (http://www.genbetadev.com/bases-de-datos/mariadb-y-skysql-unen-fuerzas-para-llevar-a-mariadb-a-lo-mas-alto) és a Google, amely meg akarja állítani a Mysql függvényében, ahogy a Wikipedia is tette, és áttér a MySQL 5.1-ről a MariaDB 10.0-ra a SkySQL segítségével, akik már szakértők ezen a területen.

    helló2.

    1.    KZKG ^ Gaara dijo

      Helló,

      Igen, természetesen, ismerem a MariaDB-t, sőt, már beszéltünk róla: https://blog.desdelinux.net/tag/mariadb/

      Jelenleg azonban a MySQL-t használom, mert ezeket az oktatóanyagokat abból a sajátos tapasztalatból veszem alapul, amelyet a migráció során tapasztaltam. DesdeLinux (minden szolgáltatásával) más szerverekre, akkoriban teljesen megváltoztattuk a technológiát, és nem kevés volt az a feladat vagy változás, amivel szembe kellett néznem.
      Olvassa el ezt a megjegyzésemet attól a pillanattól kezdve: https://blog.desdelinux.net/el-blog-desdelinux-abandona-hostgator-y-pasa-a-gnutransfer/comment-page-1/#comment-81291

      A végső gondolat igen, költözzön át a MariaDB-be, de még nem volt időm elvégezni a megfelelő teszteket 🙂

      Köszönöm, hogy elolvasta

  3.   eliotime3000 dijo

    Ez az oktatóanyag segít a zPanel X telepítésében az NGINX-lel, hogy ne telítsem el a webhelyemet a GNUPanel VPS-re történő áttéréskor.

  4.   dragnell dijo

    A karácsonyi ajándék? Nagyon vártam a gratulációt mindenkinek.

    1.    KZKG ^ Gaara dijo

      Köszi partner 😀

  5.   st0rmt4il dijo

    Hozzáadva a kedvencekhez!

    Egyébként felmerül bennem ez a kétely és kérdés, vajon az Nginx valóban nagyobb teljesítményű-e, mint az Apache?

    Üdvözlet!

    1.    KZKG ^ Gaara dijo

      Nos, az Apache sokat optimalizálható, de ... eddig a Google, és szinte mindannyian egyetértünk abban, hogy az Nginx sokkal kevesebb RAM-ot fogyaszt, teljesítménye nem elhanyagolható, bár a konfigurálás során nem teljesen ilyen egyszerű.

  6.   Louis Morales dijo

    Jó KZKG ^ Gaara kiváló információ azok számára, akiket érdekel ez a világ, egy kérdés, amikor a 4. poszt 😀