Kako instalirati web server sa Nginx + MySQL + PHP5 + APC + Spawn_FastCGI [4. dio: Nginx + PHP sa SpawnFastCGI]

Odavno Rekao sam vam o ovoj seriji vodiča, o tome kako instalirati i konfigurirati server za hosting sa visokom potražnjom. Ovaj članak bit će o instaliranju i konfiguriranju Nginx + PHP con SpawnFastCGI:

Spawn_FastCGI:

To se može reći da je to ono što Nginx povezuje sa PHP-om, tj. Čak i ako imaju instaliran PHP5 paket ako nemaju instaliran i pokrenut Spawn_FastCGI kada otvore stranicu u PHP-u, pretraživač će preuzeti datoteku, neće im pokazati ništa što .php je 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, umjesto njega morat ćemo instalirati paket spawn-fcgi. Takođe, u vodiču ću objasniti kako stvoriti početnu skriptu za to u /etc/init.d/ tako da ga možete udobnije kontrolirati.

1. Instalacija:

Krenut ćemo s prvom stvari, instalirajte Spawn-FastCGI i PHP iz naših spremišta.

Sve naredbe koje će se izvršiti izvršavaju se s root dozvolama, bilo stavljanjem sudoa na početak svake linije ili prijavljivanjem kao root

Ako na vašem poslužitelju koristite distribuciju poput Debiana, Ubuntu-a ili nekog derivata u terminalu, morate staviti sljedeće i pritisnuti ući :

aptitude install spawn-fcgi php5-cgi php5-curl

aptitude nije standardno instaliran u Ubuntuu, međutim, preporučujem da ga instalirate i koristite umjesto apt-get, jer aptitude u određenim prilikama bolje upravlja zavisnostima

Osobno ne preporučujem nijedan derivat Debiana, čak ni Ubuntu za servere, tokom godina moja iskustva nisu bila u potpunosti zadovoljavajuća. Moj prvi izbor za poslužiteljski operativni sistem je Debian, onda bih razmišljao o CentOS-u, konačno nekom BSD-u

2. Konfiguracija:

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

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

Takođe, potreban nam je izvršni php-fastcgi u / usr / bin /

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

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

/etc/init.d/spawn-fastcgi start

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

Sada ćemo našu /etc/nginx/sites-available/mywebsite.net datoteku 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 stara 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 red 3 dodaje se datoteka koja podržava PHP index.php
  • Novi redak pod br.3 koji sadrži: fastcgi_index index.php;
  • Još nekoliko novih linija koje 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 modificirati i uspostaviti naše konfiguracije.

Moramo promijeniti sljedeće:

  • access_log (red 3): Ovo će biti put datoteke evidencije pristupa do ove stranice
  • error_log (red 4): Ovo će biti put datoteke evidencije grešaka do ove stranice
  • server_name (red 5): URL, domena koja je hostirana u toj mapi, na primjer, da je to FromLinux forum, to bi bilo: server_name forum.fromlinux.net
  • root (red 6): Put do direktorijuma u kojem su html datoteke, ostavimo ovo u / var / www / jer će to biti samo test
Očito moraju imati ukazivanje u svojim DNS zapisima svog pružatelja usluga hostinga (koristeći CPanel ili neki drugi alat) da se domena ili poddomena deklarirana u ime_srvera nalazi na IP-u ovog servera koji oni konfiguriraju. Odnosno, u DNS-u gdje kreiraju poddomene za svoju domenu, moraju proglasiti da se domena ili poddomena koju su stavili u red 5 nalazi na ovom serveru (ovaj server = IP adresa dotičnog servera)

Spremni, sada ćemo ponovo pokrenuti Nginx:

/etc/init.d/nginx restart

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

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

Pod pretpostavkom da smo u retku 5 naše web stranice_plus_php.net (odnosno linije 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 pretraživača i 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 pretraživač 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 sa /etc/init.d/nginx restartom ili da su zaboravili pokrenuti Spawn-FastCGI sa /etc/init.d/spawn-fastcgi start

Do sada, vodič za povezivanje Nginxa sa PHP-om pomoću SpawnFastCGI, trebaju nam samo MySQL i APC 🙂

Nadam se da vam je ovo zanimljivo.


Sadržaj članka pridržava se naših principa urednička etika. Da biste prijavili grešku, kliknite ovdje.

11 komentara, ostavi svoj

Ostavite komentar

Vaša e-mail adresa neće biti objavljena. Obavezna polja su označena sa *

*

*

  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 obavezi.
  5. Pohrana podataka: Baza podataka koju hostuje Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.

  1.   F3niX rekao je

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

    Saludos

    1.    KZKG ^ Gaara rekao je

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

      🙂

      Hvala na čitanju ^ _ ^

      1.    Rodrigo rekao je

        sta se desilo sa 4. delom ???
        i sa narednim ?????

  2.   rpayanm rekao je

    Zdravo

    Bilo bi bolji izbor da ste umjesto mysqla koristili MariaDB, jer biste trebali znati da je potonja vilica 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 tačke.

    SkySQL, kompanija 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, i izvršit će prijelaz s MySQL 5.1 na MariaDB 10.0 uz pomoć upravo SkySQL-a, koji je već stručnjak za ovo područje.

    Salu2.

    1.    KZKG ^ Gaara rekao je

      zdravo,

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

      Međutim, trenutno koristim MySQL jer ove tutorijale radim iz određenog iskustva koje sam imao prilikom migriranja s Linuxa (sa svim njegovim uslugama) na druge servere, u to smo vrijeme u potpunosti promijenili tehnologiju i zadaci ili promjene s kojima sam se morao suočiti nisu bili 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 zaista da, migrirajte na MariaDB, ali nisam stigao napraviti odgovarajuće testove 🙂

      Hvala na čitanju

  3.   eliotime3000 rekao je

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

  4.   Dragnell rekao je

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

    1.    KZKG ^ Gaara rekao je

      Hvala partneru 😀

  5.   St0rmt4il rekao je

    Dodano u favorite!

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

    Pozdrav!

    1.    KZKG ^ Gaara rekao je

      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.   Luis Morales rekao je

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