Din operarea stabilă și rapidă a serverului depinde soarta site-ului. Munca lentă și căderile frecvente pot sparge atât vizitatorii, cât și motoarele de căutare. Acesta din urmă va reduce și ratingul site-ului de frânare în rezultatele căutării și nu va fi în primele 10, dar, de exemplu, în top 100 pentru toate interogările.
Utilizarea legărilor nginx și php-fpm pentru a servi site-uri face posibilă creșterea vitezei de lucru, precum și stabilitatea sistemului ca un întreg. În plus, refuzând să folosim Apache, simplificăm oarecum sistemul și chiar îl protejăm. La urma urmei, dacă nu există niciun apache, atunci atacatorul nu va putea folosi, de exemplu, fișierul .htaccess pentru propriile sale scopuri.
Pachetul nginx + php-fpm este ușor de configurat și este susținut de multe CMS populare: WordPress, MODX, DLE, diverse cadre. Toate acestea pot funcționa fără o apache greoaie.
Când instalați un server web, nu puteți face acest lucru fără a crea utilizatori. În mod ideal, pentru fiecare site trebuie să fie creat un utilizator separat. Deci, putem proteja alte site-uri dacă unul dintre utilizatori este hacked. Exemplele din acest articol sunt scrise în lumina faptului că ați creat utilizatori în conformitate cu instrucțiunile.
Mai întâi, instalați modulele de bază: php-fpm, mysql, curl, GD. Restul este pentru nevoi individuale.
Fișierele de configurare sunt localizate în directorul / etc / php5 / fpm /.
Configurarea bazei php pentru cererile de servicii
Inițial, php-fpm are doar o singură piscină numită www. O vom folosi ca bază pentru alte bazine.
Deschideți fișierul de configurare /etc/php5/fpm/pool.d/www.conf. luați în considerare unele variabile și selectați valori pentru ele.
Prima variabilă este numele bazinului. Acesta este închis în paranteze pătrate și nu se poate potrivi cu numele oricărui utilizator existent în sistem.
Apoi, specificați numele de utilizator și grupul său, în directorul căruia este localizat site-ul.
Specificăm că bazinul ar trebui să funcționeze ca un soclu unix. Variabila $ pool va fi înlocuită cu un nume.
Definim utilizarea modului static, când se creează un anumit număr de procese bazate pe piscină în timpul pornirii fpm. Acestea servesc toate cererile primite.
De ce această alegere. ) Aceasta este cea mai economică opțiune. Fiecare proces al bazinului va ocupa cantitatea de memorie RAM alocată variabilei memory_limit plus câteva megabytes la modulele conectate, memoria cache etc. Cu versiunea statică, toate cererile vor fi procesate doar de procesele create, iar cele noi nu vor fi generate (și vor ocupa o memorie prețioasă). Ca rezultat, avem un consum fix de memorie.
Specificați numărul necesar de procese care deservesc cererile. Acesta este selectat în funcție de volumul de lucru.
Vă recomandăm să adăugați următorii parametri la sfârșitul fișierului de configurare al bazinului.
Director pentru fișierele temporare:
Catalog pentru stocarea fișierelor de sesiune:
Din motive de securitate, accesul la aceste directoare ar trebui să fie numai pentru utilizatorul ale cărui drepturi este bazată pe fondul php-fpm. De asemenea, nu trebuie să utilizați un singur director atât pentru stocarea fișierelor de sesiune, cât și pentru fișierele temporare.
Limitarea memoriei pentru rularea scripturilor ar trebui selectată, pe baza cerințelor site-ului. Pentru a începe:
Specificați parametrul necesar care stabilește vulnerabilitatea:
Variabilele sendmail_path și open_basedir nu sunt specificate în mod explicit. Acestea vor fi transmise ca parametri rapizi-cgi în fișierul de configurare nginx. Astfel, pentru fiecare site specific puteți defini personalizarea. )
După ce ați setat toți parametrii necesari, trebuie să reporniți configurația php-fpm cu comanda:
Procesarea scripturilor php cu nginx
Rămâne să configurați nginx pentru a lucra cu php-fpm. Ready Config
example.com este înlocuit cu domeniul dvs.
try_files $ uri = 404; va afișa o eroare 404 în browser-ul utilizatorului, în loc de mesajul fără fișier de intrare specificat. în cazul în care apare această eroare.
fastcgi_pass - calea către soclul php-fpm.
Catalogul directoarelor pentru open_basedir: un director cu un site, un director pentru salvarea fișierelor temporare, un director pentru fișierele de sesiune.
Dacă doriți să treceți mai mulți parametri, ar trebui să faceți acest lucru înainte de a face acest lucru:
După cum puteți vedea, parametrii sunt separați printr-o pauză de linie: \ n.
Salvați toate modificările efectuate și reporniți nginx.