Jak nainstalovat webový server s Nginx + MySQL + PHP5 + APC + Spawn_FastCGI [4. část: Nginx + PHP s SpawnFastCGI]

nedávno Řekl jsem vám o této sérii výukových programů, o tom, jak nainstalovat a nakonfigurovat server pro hostování s vysokou poptávkou. Tento článek bude o instalaci a konfiguraci Nginx + PHP s Umístit rychleCGI:

Spawn_FastCGI:

Dá se říci, že spojuje Nginx s PHP, to znamená, že i když mají nainstalovaný balíček PHP5, pokud nemají nainstalovaný a spuštěný Spawn_FastCGI, při otevření stránky v PHP si prohlížeč soubor stáhne, bude neukazovat jim nic, co bylo .php naprogramováno, protože server neví, jak zpracovat soubory .php, proto je nezbytné nainstalovat a nakonfigurovat Spawn_FastCGI.

Pokud bychom použili Apache, bylo by to něco tak jednoduchého, jako instalace balíčku libapache2-mod-php5, ale protože používáme Nginx, musíme místo toho nainstalovat balíček spawn-fcgi. V tutoriálu také vysvětlím, jak pro něj vytvořit počáteční skript v /etc/init.d/, abyste jej mohli pohodlněji ovládat.

1. Instalace:

Začneme první věcí, instalací Spawn-FastCGI a PHP z našich úložišť.

Všechny příkazy, které budou provedeny, jsou prováděny s oprávněním root, buď umístěním sudo na začátek každého řádku, nebo přihlášením jako root

Pokud na svém serveru používáte distribuci, jako je Debian, Ubuntu nebo nějaký derivát v terminálu, musíte uvést následující a stisknout vstoupit :

aptitude install spawn-fcgi php5-cgi php5-curl

aptitude není ve výchozím nastavení nainstalován v Ubuntu, ale doporučuji jej nainstalovat a použít místo apt-get, protože aptitude při určitých příležitostech lépe spravuje závislosti

Osobně nedoporučuji žádný derivát Debianu, dokonce ani Ubuntu pro servery, moje zkušenosti v průběhu let nebyly zcela uspokojivé. Moje první volba pro serverové operační systémy je Debian, pak bych myslel na CentOS, nakonec nějaké BSD

2. Konfigurace:

V předchozím kroku (když jsme nainstalovali Nginx) jsme stáhli soubor s názvem nginx-spawn-fastcgi.tar.gz, který po rozbalení vytvořil složku nginx-spawn-fastcgi v našem domě, zkopírujeme z něj soubor spawn-fastcgi do /etc/init.d/:

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

Také potřebujeme spustitelný soubor php-fastcgi v / usr / bin /

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

Perfektní, máme připravený soubor, který nám umožní ovládat spawn-fastcgi a také spustitelný soubor php-fastcgi, nyní spustíme spawn-fastcgi:

/etc/init.d/spawn-fastcgi start

Ukáže nám něco jako: spawn-fcgi: dítě se úspěšně objevilo: PID: 3739

Nyní nahradíme náš soubor /etc/nginx/sites-available/mywebsite.net souborem ~ / nginx-spawn-fastcgi / mywebsite_plus_php.net

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

Proč? Jednoduché, protože náš starý soubor mywebsite.net nemá podporu pro PHP, to znamená, že je pouze Nginx, zatímco soubor mywebsite_plus_php.net má podporu pro PHP, tedy Nginx + PHP pomocí SpawnFastCGI.

Rozdíly mezi těmito soubory jsou několik, například:

  • V řádku 3 je přidán soubor podporující PHP index.php
  • Nový řádek pod č. 3, který obsahuje: fastcgi_index index.php;
  • Několik dalších nových řádků, které Nginxu říkají, jak zpracovávat PHP.
  • … .. Stručně řečeno, zde je fotografie, která vám pomůže poznat rozdíly mezi těmito dvěma soubory:

nginx_mysql_spawn-fastcgi_comparing_mywebsite_confs

Soubor mywebsite_plus_php.net je vhost, který slouží jako příklad, to znamená, a jinými slovy, musíme jej upravit a zavést naše konfigurace.

Musíme změnit následující:

  • access_log (řádek 3): Toto bude cesta souboru protokolu přístupu k tomuto webu
  • error_log (řádek 4): Toto bude cesta k souboru protokolu chyb na tento web
  • název_serveru (řádek 5): Adresa URL, doména, která je v této složce hostována, například pokud by šlo o fórum DesdeLinux bylo by to: forum server_name.desdelinux. net
  • root (řádek 6): Cesta ke složce, kde jsou soubory html, nechme to v / var / www /, protože to bude jen test
Je zřejmé, že musí ve svých záznamech DNS ukazovat na svého poskytovatele hostingu (pomocí CPanelu nebo jiného nástroje), že doména nebo subdoména deklarovaná v názvu_serveru se nachází na IP tohoto serveru, který konfigurují. To znamená, že v DNS, kde vytvářejí subdomény pro svou doménu, musí deklarovat, že doména nebo subdoména, kterou vložili do řádku 5, se nachází na tomto serveru (tento server = IP adresa dotyčného serveru)

Připraveno, nyní restartujeme Nginx:

/etc/init.d/nginx restart

Chcete-li ověřit, že náš Nginx správně zpracovává PHP, zkopírujte soubor phptest.php do hostované složky, tj. Do souboru uvedeného v řádku č. 6 souboru mywebsite_plus_php.net (například root / var / www /), za předpokladu, že by byl web hostován přímo v / var / www / by byl:

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

Předpokládejme, že v řádku 5 našeho webu mywebsite_plus_php.net (tj. Řádek server_name) jsme řekli, že náš web je www.mysite.net, pak musíme přistupovat k www.mysite.net/phptest.php. Jinými slovy, myšlenkou je přístup k souboru phptest.php z našeho prohlížeče a pokud se objeví následující, náš Nginx se perfektně propojil s PHP:

nginx_mysql_spawn-fastcgi_tersting_nginx_php

V případě, že se to neobjeví, to znamená, že se prohlížeč pokusí stáhnout soubor .php ... to znamená, že udělali něco špatně, že nenahradili /etc/nginx/sites-available/mywebsite.net ~ / nginx-spawn-fastcgi / mywebsite_plus_php.net… že jste zapomněli restartovat Nginx pomocí /etc/init.d/nginx restart nebo že jste zapomněli spustit Spawn-FastCGI s /etc/init.d/spawn-fastcgi start

Výukový program pro propojení Nginx s PHP pomocí SpawnFastCGI, potřebujeme pouze MySQL a APC 🙂

Doufám, že vás to zajímá.


Zanechte svůj komentář

Vaše e-mailová adresa nebude zveřejněna. Povinné položky jsou označeny *

*

*

  1. Odpovědný za údaje: Miguel Ángel Gatón
  2. Účel údajů: Ovládací SPAM, správa komentářů.
  3. Legitimace: Váš souhlas
  4. Sdělování údajů: Údaje nebudou sděleny třetím osobám, s výjimkou zákonných povinností.
  5. Úložiště dat: Databáze hostovaná společností Occentus Networks (EU)
  6. Práva: Vaše údaje můžete kdykoli omezit, obnovit a odstranit.

  1.   f3niX řekl

    Pokud je to čtvrtina, proč je na obrázku 3? začal na 0 myslím? vynikající příspěvek.

    pozdravy

    1.    KZKG ^ Gaara řekl

      1 .: Prezentace
      2. místo: Nginx
      3. místo: Nginx + PHP (Spawn_FastCGI)

      ????

      Děkujeme za přečtení ^ _ ^

      1.    Rodrigo řekl

        co se stalo s částí 4 ???
        as následným ?????

  2.   rpyanm řekl

    Ahoj

    Bylo by lepší volbou, pokud byste místo mysql použili MariaDB, jak byste měli vědět, druhý je vidličkou prvního a již se mluví o tom, že to bude Mysql budoucnosti (http://www.genbetadev.com/bases-de-datos/mariadb-sera-el-mysql-del-futuro), protože Mysql je až do bodu zdarma.

    SkySQL, společnost poskytující služby z bezplatných databází, finančně podpořila projekt MariaDB (http://www.genbetadev.com/bases-de-datos/mariadb-y-skysql-unen-fuerzas-para-llevar-a-mariadb-a-lo-mas-alto) a Google, který se chce zastavit v závislosti na Mysql, jak to udělala i Wikipedia, a provede přechod z MySQL 5.1 na MariaDB 10.0 právě s pomocí SkySQL, kteří jsou již v této oblasti odborníky.

    Salu2.

    1.    KZKG ^ Gaara řekl

      Dobrý den,

      Ano, samozřejmě, MariaDB znám a ve skutečnosti jsme o tom už mluvili: https://blog.desdelinux.net/tag/mariadb/

      Nicméně právě teď používám MySQL, protože tyto návody dělám na základě konkrétní zkušenosti, kterou jsem měl při migraci. DesdeLinux (se všemi jeho službami) na jiné servery, v té době jsme zcela změnili technologii a úkolů či změn, kterým jsem musel čelit, nebylo málo.
      Přečtěte si tento můj komentář od té chvíle: https://blog.desdelinux.net/el-blog-desdelinux-abandona-hostgator-y-pasa-a-gnutransfer/comment-page-1/#comment-81291

      Konečný nápad je skutečně ano, migrovat na MariaDB, ale neměl jsem čas udělat příslušné testy 🙂

      Děkuji za přečtení

  3.   eliotime3000 řekl

    Tento výukový program mi pomůže nainstalovat zPanel X s NGINX, aby nedošlo k nasycení mého webu při migraci na GNUPanel VPS.

  4.   dragnell řekl

    Vánoční dárek? Těšil jsem se na všechny gratulace.

    1.    KZKG ^ Gaara řekl

      Díky partnerovi 😀

  5.   st0rmt4il řekl

    Přidáno k oblíbeným!

    Mimochodem, mám tuto pochybnost a otázku, má Nginx opravdu větší výkon než Apache?

    Zdravím!

    1.    KZKG ^ Gaara řekl

      Apache lze hodně optimalizovat, ale ... až dosud Google a téměř všichni souhlasíme s tím, že Nginx spotřebovává mnohem méně RAM, má nezanedbatelný výkon, i když to při konfiguraci není tak jednoduché.

  6.   louis morales řekl

    Dobrá KZKG ^ Gaara vynikající informace pro ty z nás, kteří se zajímají o tento svět, otázka, kdy 4. příspěvek 😀