Kiel instali retservilon kun Nginx + MySQL + PHP5 + APC + Spawn_FastCGI [4a Parto: Nginx + PHP kun SpawnFastCGI]

Antaŭ iom da tempo Mi rakontis al vi pri ĉi tiu serio de lerniloj, pri kiel instali kaj agordi servilon por tre postulata gastigado. Ĉi tiu artikolo temas pri instalado kaj agordo Nginx + PHP con SpawnFastCGI:

Frajo_FastCGI:

Ĉi tio povas esti dirita tio, kio kunigas Nginx kun PHP, do eĉ se ili havas la PHP5-pakaĵon instalitan, se ili ne havas Spawn_FastCGI instalitan kaj efektivigitan kiam ili malfermas retejon en PHP, la retumilo elŝutos la dosieron, ĝi montros al ili nenion, ke la .php estis programita ĉar la servilo ne scias kiel prilabori dosierojn .php, tial necesas instali kaj agordi Spawn_FastCGI.

Se ni uzus Apache ĝi estus io tiel simpla kiel instali la pakaĵon libapache2-mod-php5 sed ĉar ni uzas Nginx ni devos instali la pakaĵon spawn-fcgi anstataŭe. Ankaŭ en la lernilo mi klarigos kiel krei komencan skripton por ĝi en /etc/init.d/ por ke vi povu regi ĝin pli komforte.

1. Instalado:

Ni komencos per la unua afero, instali Spawn-FastCGI kaj PHP de niaj deponejoj.

Ĉiuj ekzekutotaj komandoj estas plenumitaj kun radikaj permesoj, aŭ metante sudon komence de ĉiu linio aŭ ensalutante kiel radiko.

Se en via servilo vi uzas distribuon kiel Debian, Ubuntu aŭ iu derivaĵo en la terminalo, vi devas meti la jenon kaj premi Enigu :

aptitude install spawn-fcgi php5-cgi php5-curl

aptitude ne estas instalita defaŭlte en Ubuntu, tamen mi rekomendas al vi instali ĝin kaj uzi ĝin anstataŭ apt-get, ĉar aptitude pli bone administras dependecojn en iuj okazoj

Persone mi rekomendas neniun derivaĵon de Debian, eĉ ne Ubuntu por serviloj, dum la jaroj miaj spertoj ne estis tute kontentigaj. Mia unua elekto por servilaj operaciumoj estas Debian, tiam mi pensus pri CentOS, finfine iom da BSD

2. Agordo:

En la antaŭa paŝo (kiam ni instalis Nginx) ni elŝutis dosieron nomatan nginx-spawn-fastcgi.tar.gz, ke kiam ni malzipis ĝin kreis la dosierujon nginx-spawn-fastcgi en nia hejmo, ni kopios la dosieron de ĝi spawn-fastcgi al /etc/init.d/:

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

Ankaŭ ni bezonas la efektivigeblan php-fastcgi en / usr / bin /

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

Perfekte, ni pretigis la dosieron, kiu permesos al ni regi spawn-fastcgi kaj ankaŭ la efektivigeblan php-fastcgi, nun ni komencos spawn-fastcgi:

/etc/init.d/spawn-fastcgi start

Ĝi montros al ni ion kiel: spawn-fcgi: infano sukcese generis: PID: 3739

Nun ni anstataŭigos nian dosieron /etc/nginx/sites-available/mywebsite.net per ~ / nginx-spawn-fastcgi / mywebsite_plus_php.net

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

Kial? Simpla, ĉar nia malnova dosiero mywebsite.net ne havas PHP-subtenon, tio estas nur Nginx, dum la dosiero mywebsite_plus_php.net havas PHP-subtenon, do Nginx + PHP uzante SpawnFastCGI.

La diferencoj inter ĉi tiuj dosieroj estas pluraj, ekzemple:

  • En linio 3 aldoniĝas la dosiero, kiu subtenas PHP, index.php
  • Nova linio sub n-ro 3, kiu enhavas: fastcgi_index index.php;
  • Pluraj aliaj novaj linioj, kiuj diras al Nginx kiel prilabori PHP.
  • ... .. ĉiuokaze, jen foto, kiu helpos vin scii la diferencojn inter la du dosieroj:

nginx_mysql_spawn-fastcgi_comparing_mywebsite_confs

 

La dosiero mywebsite_plus_php.net estas vhost kiu servas kiel ekzemplo, tio estas, kaj alivorte, ni devas modifi ĝin kaj establi niajn agordojn.

Ni devas ŝanĝi la jenon:

  • access_log (linio 3): Ĉi tiu estos la vojo de la alira protokola dosiero al ĉi tiu retejo
  • error_log (linio 4): Ĉi tiu estos la vojo de la erara protokola dosiero al ĉi tiu retejo
  • servila nomo (linio 5): la URL, domajno gastigita en tiu dosierujo, ekzemple, se temus pri la FromLinux-forumo ĝi estus: server_name forum.fromlinux.net
  • radiko (linio 6): La vojo al la dosierujo kie estas la html-dosieroj, ni lasu ĉi tion en / var / www / ĉar ĝi estos nur testo
Evidente ili devas indiki en siaj DNS-registroj de sia gastiganta provizanto (uzante CPanel aŭ alian ilon), ke la domajno aŭ subdomajno deklarita en servila_nomo situas sur la IP de ĉi tiu servilo, kiun ili agordas. Tio estas, en la DNS, kie ili kreas subdomajnojn por sia domajno, ili devas deklari, ke la domajno aŭ subdomajno, kiun ili metis en linion 5, troviĝas sur ĉi tiu servilo (ĉi tiu servilo = la IP-adreso de la koncerna servilo)

Preta, nun ni rekomencos Nginx:

/etc/init.d/nginx restart

Por kontroli, ke nia Nginx procesas PHP ĝuste, ni kopiu la dosieron phptest.php al la gastigita dosierujo, tio estas, tiu indikita en la linio n-ro 6 de la dosiero mywebsite_plus_php.net (ekzemple root / var / www /), supozante, ke la retejo gastigita rekte en / var / www / estus:

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

Supozante, ke en la linio 5 de nia mywebsite_plus_php.net (tio estas, la servila_noma linio) ni diris, ke nia retejo estas www.mysite.net tiam ni devas aliri www.mysite.net/phptest.php. Alivorte, la ideo estas aliri la dosieron phptest.php de nia retumilo kaj se jene aperas, tiam nia Nginx perfekte ligita kun PHP:

nginx_mysql_spawn-fastcgi_tersting_nginx_php

 

Se ĉi tio ne aperos, tio estas, ke la retumilo provas elŝuti la .php-dosieron ... ĉi tio signifas, ke ili faris ion malĝustan, ke ili ne anstataŭigis /etc/nginx/sites-available/mywebsite.net per ~ / nginx-spawn-fastcgi / mywebsite_plus_php.net ... ke vi forgesis rekomenci Nginx per /etc/init.d/nginx restart aŭ ke vi forgesis starti Spawn-FastCGI per /etc/init.d/spawn-fastcgi start

Ĝis nun la lernilo por ligi Nginx kun PHP per SpawnFastCGI, ni nur bezonas MySQL kaj APC 🙂

Mi esperas, ke ĉi tio estas interesa por vi.


La enhavo de la artikolo aliĝas al niaj principoj de redakcia etiko. Por raporti eraron alklaku Ĉi tie.

11 komentoj, lasu la viajn

Lasu vian komenton

Via retpoŝta adreso ne estos eldonita. Postulita kampojn estas markita per *

*

*

  1. Respondeculo pri la datumoj: Miguel Ángel Gatón
  2. Celo de la datumoj: Kontrola SPAM, administrado de komentoj.
  3. Legitimado: Via konsento
  4. Komunikado de la datumoj: La datumoj ne estos komunikitaj al triaj krom per laŭleĝa devo.
  5. Stokado de datumoj: Datumbazo gastigita de Occentus Networks (EU)
  6. Rajtoj: Iam ajn vi povas limigi, retrovi kaj forigi viajn informojn.

  1.   F3niX diris

    Se ĝi estas kvarono, kial la bildo diras 3? komenciĝis je 0 mi supozas? bonega afiŝo.

    salutoj

    1.    KZKG ^ Gaara diris

      1-a: Prezento
      2a: Nginx
      3a: Nginx + PHP (Spawn_FastCGI)

      🙂

      Dankon pro legado ^ _ ^

      1.    Rodrigo diris

        kio okazis al la 4a parto ???
        kaj kun la posta ?????

  2.   rpyanm diris

    Saluton:

    Estus pli bona elekto, se anstataŭ mysql vi uzus MariaDB, ĉar vi devas scii, ke ĉi tiu lasta estas forko de la unua, kaj oni jam parolas, ke ĝi estos la Mysql de la estonteco (http://www.genbetadev.com/bases-de-datos/mariadb-sera-el-mysql-del-futuro) ĉar Mysql estas senpaga, ĝis punkto.

    SkySQL, kompanio kiu provizas servojn de senpagaj datumbazoj, finance subtenis la projekton MariaDB (http://www.genbetadev.com/bases-de-datos/mariadb-y-skysql-unen-fuerzas-para-llevar-a-mariadb-a-lo-mas-alto) kaj Google, kiuj volas ĉesi dependi de Mysql, kiel faris Vikipedio, kaj transiros de MySQL 5.1 al MariaDB 10.0 kun la helpo, ĝuste, de SkySQL, kiuj jam spertas pri ĉi tiu kampo.

    Saluton2.

    1.    KZKG ^ Gaara diris

      saluton,

      Jes kompreneble, mi konas MariaDB kaj fakte ni jam parolis pri ĝi: https://blog.desdelinux.net/tag/mariadb/

      Tamen nun mi uzas MySQL ĉar mi faras ĉi tiujn lernilojn de la aparta sperto, kiun mi havis dum migrado De Linukso (kun ĉiuj ĝiaj servoj) al aliaj serviloj, tiam ni ŝanĝis la teknologion tute kaj la taskojn aŭ ŝanĝojn, kiujn mi devis fari vizaĝo ne estis malmultaj.
      Legu ĉi tiun mian komenton de tiu momento: https://blog.desdelinux.net/el-blog-desdelinux-abandona-hostgator-y-pasa-a-gnutransfer/comment-page-1/#comment-81291

      La fina ideo estas ja, migru al MariaDB, sed mi ne havis tempon fari la koncernajn testojn 🙂

      Dankon pro legado

  3.   eliotime3000 diris

    Ĉi tiu lernilo helpos min instali zPanel X kun NGINX por ne saturi mian retejon dum migrado al la GNUPanel VPS.

  4.   Dragnell diris

    La kristnaska donaco? Mi antaŭĝojis gratulon al ĉiuj.

    1.    KZKG ^ Gaara diris

      Dankon partnero 😀

  5.   St0rmt4il diris

    Aldonita al plej ŝatataj!

    Cetere, mi havas ĉi tiun dubon kaj demandon, ĉu Nginx vere havas pli da agado ol Apache?

    Dankon!

    1.    KZKG ^ Gaara diris

      Nu, Apache multe povas esti optimumigita sed ... ĝis nun, Google ĝi kaj preskaŭ ĉiuj konsentas, ke Nginx konsumas multe malpli da RAM, havas ne malestimindan rendimenton, kvankam ĝi ne estas tute tiel simpla dum agordo.

  6.   Ludoviko Morales diris

    Bona KZKG ^ Gaara bonega informo por tiuj el ni, kiuj interesiĝas pri ĉi tiu mondo, demando, por kiam la 4a afiŝo 😀