Kako instalirati web poslužitelj s Nginx + MySQL + PHP5 + APC + Spawn_FastCGI [4. dio: Nginx + PHP s SpawnFastCGI]

Hace tiempo Rekao sam vam o ovoj seriji tutorijala, o tome kako instalirati i konfigurirati poslužitelj za hosting s visokom potražnjom. Ovaj će se članak odnositi na instaliranje i konfiguriranje Nginx + PHP s SpawnFastCGI:

Spawn_FastCGI:

Može se reći da je to ono što objedinjuje Nginx s PHP-om, tj. Čak i ako imaju instaliran PHP5 paket ako nemaju instaliran i pokrenut Spawn_FastCGI kada otvore stranicu u PHP-u, preglednik će preuzeti datoteku, ona se neće prikazati njima sve što je .php programiran jer poslužitelj ne zna kako obrađivati ​​.php datoteke, zbog čega je neophodno instalirati i konfigurirati Spawn_FastCGI.

Da smo koristili Apache, bilo bi to jednostavno, poput instaliranja paketa libapache2-mod-php5, ali budući da koristimo Nginx, morat ćemo umjesto njega instalirati paket spawn-fcgi. Također, u tutorialu ću objasniti kako stvoriti početnu skriptu za to u /etc/init.d/ tako da ga možete udobnije kontrolirati.

1. Instalacija:

Počet ćemo s prvom, instalirajte Spawn-FastCGI i PHP iz naših spremišta.

Sve naredbe koje će se izvršiti izvršavaju se s root dopuštenjima, stavljanjem sudoa na početak svakog retka ili prijavom kao root

Ako na svojem poslužitelju u terminalu koristite distribuciju kao što je Debian, Ubuntu ili neki derivat, morate staviti sljedeće i pritisnuti ući :

aptitude install spawn-fcgi php5-cgi php5-curl

aptitude nije standardno instaliran u Ubuntuu, no preporučujem da ga instalirate i koristite umjesto apt-get, jer aptitude u određenim prigodama bolje upravlja ovisnostima

Osobno ne preporučujem nijedan derivat Debiana, čak ni Ubuntu za poslužitelje, tijekom godina moja iskustva nisu bila u potpunosti zadovoljavajuća. Moj prvi izbor za poslužiteljski operativni sustav je Debian, tada bih se sjetio CentOS-a, konačno i BSD-a

2. Konfiguracija:

U prethodnom koraku (kada smo instalirali Nginx) preuzeli smo datoteku zvanu nginx-spawn-fastcgi.tar.gz koja je kada je raspakirana stvorila mapu nginx-spawn-fastcgi u našem domu, kopirat ćemo datoteku iz nje spawn-fastcgi na /etc/init.d/:

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

Također, trebamo izvršnu datoteku php-fastcgi u / usr / bin /

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

Savršeno, pripremili smo datoteku koja će nam omogućiti kontrolu spawn-fastcgi i izvršne datoteke php-fastcgi, sada ćemo pokrenuti spawn-fastcgi:

/etc/init.d/spawn-fastcgi start

Pokazat će nam nešto poput: spawn-fcgi: dijete se uspješno rodilo: PID: 3739

Sada ćemo našu datoteku /etc/nginx/sites-available/mywebsite.net zamijeniti s ~ / nginx-spawn-fastcgi / mywebsite_plus_php.net

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

Zašto? Jednostavno, jer naša prethodna datoteka mywebsite.net nema podršku za PHP, to jest, to je samo Nginx, dok datoteka mywebsite_plus_php.net ima podršku za PHP, odnosno Nginx + PHP pomoću SpawnFastCGI.

Razlika između ovih datoteka je nekoliko, na primjer:

  • U redak 3 dodaje se datoteka koja podržava PHP index.php
  • Novi redak pod br.3 koji sadrži: fastcgi_index index.php;
  • Nekoliko drugih novih redaka koji Nginxu govore kako da obrađuje PHP.
  • ... .. Ukratko, evo fotografije koja će vam pomoći da saznate razlike između dvije datoteke:

nginx_mysql_spawn-fastcgi_comparing_mywebsite_confs

Datoteka mywebsite_plus_php.net je vhost koji služi kao primjer, odnosno, drugim riječima, moramo je izmijeniti i uspostaviti naše konfiguracije.

Moramo promijeniti sljedeće:

  • access_log (redak 3): Ovo će biti put datoteke dnevnika pristupa do ove stranice
  • error_log (redak 4): Ovo će biti put datoteke dnevnika pogrešaka do ove web stranice
  • server_name (red 5): URL, domena koja se nalazi u toj mapi, na primjer, ako je to forum DesdeLinux to bi bilo: forum server_name.desdelinux.net
  • root (redak 6): Put do mape u kojoj su html datoteke, ostavimo ovo u / var / www / jer će to biti samo test
Očito u svojim DNS zapisima svog pružatelja usluga hostinga (koristeći CPanel ili neki drugi alat) moraju imati naznaku da se domena ili poddomena deklarirana u ime_poslužitelja nalazi na IP-u ovog poslužitelja koji oni konfiguriraju. Odnosno, u DNS-u gdje stvaraju poddomene za svoju domenu moraju izjaviti da se domena ili poddomena koju su stavili u red 5 nalazi na ovom poslužitelju (ovaj poslužitelj = IP adresa dotičnog poslužitelja)

Spremni, sada ćemo ponovno pokrenuti Nginx:

/etc/init.d/nginx restart

Da bismo provjerili ispravno li obrađuje PHP PHP, kopirajmo datoteku phptest.php u hostiranu mapu, odnosno onu koja je navedena u retku br. 6 datoteke mywebsite_plus_php.net (na primjer, root / var / www /), pod pretpostavkom da bi web lokacija bila smještena izravno u / var / www / bilo bi:

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

Pretpostavimo da smo u retku 5 naše web stranice_plus_php.net (to jest linije_ime poslužitelja) rekli da je naša stranica www.mysite.net, onda moramo pristupiti stranici www.mysite.net/phptest.php. Drugim riječima, ideja je pristupiti datoteci phptest.php iz našeg preglednika, a ako se pojavi sljedeće, onda se naš Nginx savršeno povezao s PHP-om:

nginx_mysql_spawn-fastcgi_tersting_nginx_php

U slučaju da se ovo ne pojavi, odnosno da preglednik pokuša preuzeti .php datoteku ... to znači da su učinili nešto pogrešno, da nisu /etc/nginx/sites-available/mywebsite.net zamijenili s ~ / nginx-spawn-fastcgi / mywebsite_plus_php.net… da su zaboravili ponovno pokrenuti Nginx ponovnim pokretanjem /etc/init.d/nginx ili da su zaboravili pokrenuti Spawn-FastCGI s /etc/init.d/spawn-fastcgi start

Dosad smo u vodiču za povezivanje Nginxa s PHP-om pomoću SpawnFastCGI-a trebali samo MySQL i APC

Nadam se da vam je ovo zanimljivo.


Ostavite svoj komentar

Vaša email adresa neće biti objavljen. Obavezna polja su označena s *

*

*

  1. Za podatke odgovoran: Miguel Ángel Gatón
  2. Svrha podataka: Kontrola neželjene pošte, upravljanje komentarima.
  3. Legitimacija: Vaš pristanak
  4. Komunikacija podataka: Podaci se neće dostavljati trećim stranama, osim po zakonskoj obvezi.
  5. Pohrana podataka: Baza podataka koju hostira Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.

  1.   f3niX dijo

    Ako je četvrtina, zašto na slici piše 3? počelo u 0 pretpostavljam? izvrstan post.

    pozdravi

    1.    KZKG ^ Gaara dijo

      1.: Prezentacija
      2.: Nginx
      3.: Nginx + PHP (Spawn_FastCGI)

      ????

      Hvala na čitanju ^ _ ^

      1.    Rodrigo dijo

        što se dogodilo s 4. dijelom ???
        i s naknadnim ?????

  2.   rpyanm dijo

    Pozdrav:

    Bilo bi bolji izbor da ste umjesto mysqla koristili MariaDB, jer biste trebali znati da je potonji račvanje prvog, a već se govori da će to biti Mysql budućnosti (http://www.genbetadev.com/bases-de-datos/mariadb-sera-el-mysql-del-futuro) jer je Mysql besplatan, do određene točke.

    SkySQL, tvrtka koja pruža usluge iz besplatnih baza podataka, financijski je podržala projekt MariaDB (http://www.genbetadev.com/bases-de-datos/mariadb-y-skysql-unen-fuerzas-para-llevar-a-mariadb-a-lo-mas-alto) i Google koji želi prestati ovisiti o Mysqlu, kao što je to učinila i Wikipedia, a prijeći će s MySQL 5.1 na MariaDB 10.0, uz pomoć upravo SkySQL-a, koji je već stručnjak za ovo područje.

    Pozdrav 2.

    1.    KZKG ^ Gaara dijo

      Pozdrav,

      Da, naravno, znam MariaDB i zapravo smo o tome već razgovarali: https://blog.desdelinux.net/tag/mariadb/

      Međutim, trenutno koristim MySQL jer radim ove poduke iz iskustva koje sam stekao prilikom migracije. DesdeLinux (sa svim svojim uslugama) na druge poslužitelje, tada smo potpuno promijenili tehnologiju i zadataka ili promjena s kojima sam se morao suočiti nije bilo malo.
      Pročitajte ovaj moj komentar od tog trenutka: https://blog.desdelinux.net/el-blog-desdelinux-abandona-hostgator-y-pasa-a-gnutransfer/comment-page-1/#comment-81291

      Konačna ideja je da, zaista, migrirajte na MariaDB, ali nisam stigao napraviti odgovarajuće testove 🙂

      Hvala na čitanju

  3.   eliotime3000 dijo

    Ovaj vodič će mi pomoći da instaliram zPanel X s NGINX-om kako ne bih zasitio svoju web stranicu prilikom migracije na GNUPanel VPS.

  4.   dragnell dijo

    Božićni poklon? Radovala sam se čestitkama svima.

    1.    KZKG ^ Gaara dijo

      Hvala partneru 😀

  5.   st0rmt4il dijo

    Dodano u favorite!

    Inače, imam tu sumnju i pitanje, ima li Nginx zaista više performansi od Apachea?

    Pozdrav!

    1.    KZKG ^ Gaara dijo

      Pa, Apache se može puno optimizirati, ali ... sve do sada, Google i gotovo svi se slažemo da Nginx troši mnogo manje RAM-a, ima neznatne performanse, iako nije baš tako jednostavan pri konfiguriranju.

  6.   Louis Morales dijo

    Dobar KZKG ^ Gaara izvrsne informacije za nas koji smo zainteresirani za ovaj svijet, pitanje, kada četvrti post 😀