PHP în modul FastCGI înseamnă patch PHP-+ Nginx FPM
puteți obține un server web de înaltă performanță folosind ca un front-end Nginx, precum și back-end PHP-FastCGI-server.
Avantajele Nginx și FastCGI:
- Nginx este ușor, ușor de configurat, este un server proxy, este foarte rapid.
- FastCGI este cel mai rapid și mai sigur mod de a procesa programe interogări externe.
Într-un astfel de sistem este posibil să se ocupe de un număr mare de cereri într-un timp scurt. Nginx poate fi folosit ca un independent, serverul HTTP sau ca un proxy inversă în fața Apache sau orice alt server de web grele pentru a lua o parte din sarcină. Apache atunci când acționează ca un back-Enda pentru a genera conținut dinamic, dar Apache este destul de voluminoase și grele, în plus, este nevoie de o mulțime de memorie.
Mai multe cereri de la un server Web pentru a genera multe fire paralele / procese, care sunt păstrate în memorie până când conexiunea client este închisă. Prin urmare, este recomandabil să se utilizeze Nginx să accepte conexiuni și impactul procesării staticii și dinamicii pentru a transmite serverul „principal“. Pentru a procesa dinamica folosind proxy Nginx și FastCGI. Caching statică și retur este realizată de Nginx. Totul va lucra transparent pentru script-urile deja scrise.
Pentru a specifica orice fișiere statice Nginx vă va oferi posibilitatea de a crea o secțiune cu locația:
Pentru a redirecționa toate cererile pentru fișierele .php la un anumit port TCP asculta FastCGI-server, aveți nevoie pentru a nginx.conf fișier de configurare pentru a crea o locație în secțiune separată:
Programele CGI, problema este că acestea trebuie să fie repornit de către serverul Web pentru fiecare cerere, ceea ce duce la o scădere a productivității. Programele CGI sunt conectate la server prin intermediul pipe'y. Comparativ cu protocolul FastCGI CGI este mai eficient și sigur, care nu-si petrece timp pentru a crea furculita-uri (proces nou). FastCGI-procese folosesc Unix Domain Sockets sau TCP / IP pentru comunicarea cu serverul.
Când este utilizat ca un CGI PHP alocate următoarele avantaje:
- PHP este disponibil pentru personalizare pentru utilizator;
- să execute script-uri cu drepturi de utilizare;
- un consum mai mic de memorie decât folosind PHP, apache ca modul;
- erori în script-urile nu duc la un accidente de server web, spre deosebire de modul PHP ca modul Apache.
Atunci când se utilizează PHP ca FastCGI:
- prin cache unele date intermediare nu este interpretat de script de fiecare dată întruchiparea și atinge o viteză mare în comparație cu PHP ca CGI;
- este mai sigur, atât în ceea ce privește drepturile de acces, cât și din punct de vedere al prezenței erorilor în activitatea de script-uri străine.
Rularea servere PHP FastCGI built-in - o metodă care nu necesită instrumente suplimentare. Pentru a face acest lucru, utilizați comanda:
Rularea PHP în orice procesor de interogare terță parte - această opțiune ar putea fi mai convenabil, deoarece are o mare flexibilitate în personalizarea. programe externe de control al proceselor FastCGI poate fi, de exemplu, cum ar fi spawn-fcgi, pentru a începe procesul de FastCGI în mediul lor, să-l pună user-id, id-grup și de a schimba directorul rădăcină (chroot).
În acest moment, în porturi FreeBSD pot fi găsite la compilarii PHP5 5.3.3_2 sau php52 5.2.14_1 optiunea «[X] FPM» - intră direct, patch-ul pentru PHP, care nu mai este necesar pentru a descărca de la sursă sau din porturi și patch-uri sau utilizați spawn-fcgi.
PHP FastCGI manager de proces (php-fpm) proiectat pentru o stabilitate ridicată. Utilizate în mod obișnuit cu proiecte Nginx cu sarcini mari sau lipsa de resurse. Utilizarea Nginx și php-fpm pot obține economii importante de server de memorie și de performanță.
PHP-fpm - o înaltă performanță și de interfață scalabilă, care elimină o serie de probleme care împiedică utilizarea PHP în modul FastCGI.
Pentru a adăuga o pornire pe FreeBSD:
Fișierul de configurare - /usr/local/etc/php-fpm.conf. Incepand cu versiunea 5.3.3 de configurare php-fpm are un format mai aproape de formatul php.ini. Versiunile de mai jos - în format XML.
Setările în configurația sunt împărțite în bazine globale și de configurare. Cât de mulți utilizatori ca piscine. Structura generală:
drepturi pentru soclu unix, în cazul în care unul este folosit. În Linux, dreptul de a citi / acces de scriere trebuie să fie configurat astfel încât Web-ul se poate conecta la nord. Multe BSD sisteme permit conexiuni, indiferent de drepturi. Implicit: 0666
stabilirea unui stil de a controla numărul de procese de lucru. Valorile valide sunt „statice“ și „apache-cum ar fi“. Implicit «static». Notă: Numai „statică“ lucrează în prezent.
Aceasta stabilește o limită a numărului de cereri simultane, care va fi servit. Folosit cu orice stil de a controla numărul de procese de lucru.
timp (în secunde) pentru deservirea unei cereri, după care procesul de lucru va fi oprit. Acesta este utilizat atunci când „max_execution_time“ nu se oprește executarea script pentru un motiv oarecare. Implicit: «5s». Notă: „0s“ este echivalent cu „off“
timp (în secunde) pentru o solicitare de serviciu, după care resetare php backtrace pentru a încetini jurnal de interogare. Implicit: «5s». Notă: „0s“ este echivalent cu „off“
cât de multe cereri în fiecare proces ar trebui să se ocupe înainte de a reporni. Acesta vă permite să ocolească memoria de înregistrare îngrijitorul în bibliotecile terțe părți. Pentru procesarea cerere specifica fara sfarsit 0. echivalent mediu PHP_FCGI_MAX_REQUESTS variabile.