Php-fpm nginx 7 debian telepítését és konfigurálását

A Debian ziháló php-FPM van jelen a main tárolóból. Ez azt jelenti, hogy már nem kell használni, harmadik fél tárolójából, mint DotDeb, felállítása és ezzel a csodálatos egységet.

Mint minden más esetben az első lépés az, hogy telepítse a szükséges csomagokat. Ami a további modulok, a választás nagymértékben függ a műszaki követelményeket az oldalon. Ebben a példában fogjuk meg magát php-FPM modul vagy modulok használata az mysql, képek (GD), fürt, amely szükséges a sok cm.

Konfigurációs fájlok találhatók a / etc / php5 / FPM /.

Php-fpm eredetileg mellékelt egy medence www példaértékű működését. Akkor módosítsa a konfigurációs fájlt a medence magunkat, vagy hozzon létre egy új medence, amely a meglévő konfigurációt.

Nyissuk a konfigurációs fájl /etc/php5/fpm/pool.d/www.conf. Megnézzük egyes változók és válasszon ki egy értéket a számukra.

Az első változó - hatálya nevét. A név a szögletes zárójelek között.

Ha szüksége van egy új medence, akkor hozzon létre egy mappát a fájl /etc/php5/fpm/pool.d/, poolname.conf, és adja meg a medencében neve szögletes zárójelben [poolname]. A fájl neve nem egyezik meg a medence nevét. Ez úgy történik, csak az egyszerűség kedvéért. 🙂

Meg kell jegyezni, hogy a medence neve nem egyezik meg a felhasználó nevét - a tulajdonos a helyszínen, vagy bármely más felhasználó számára, hogy létezik a rendszerben.

Ezután a következő változókat:

user = www-adatok
csoport = www-adatok

Az érték ezeket a változókat, és a felhasználó egy csoport, akinek a nevében fog működni medence. Itt lehet beállítani a felhasználói nevet és a csoport, aki birtokolja a fájlt az Ön honlapján. Azaz, a felhasználó, akinek a saját könyvtárban tárolja a webhelyen.

Ez meg fogja oldani a problémát, hogy hozzáférjenek a helyszínen fájlokat. Nem kell aggódnia, stand minden alkalommal a jogot, hogy írjon minden olyan webhelyet mappát egy webszerver, és így tovább.

Fenntartjuk unix-aljzatba. $ Változó helyébe a medence medence nevét.

listen.owner = www-adatok
listen.group = www-adatok

Szintén nem igényel módosítást. Meghatározott felhasználó és csoport, akik tulajdonosai unix socket-FPM induláskor. Szükséges, hogy a webszerver a jogot, hogy olvassa el a konnektorba. Ha megváltoztatja a e változók értékeit másra, a felhasználó www-data kell hozzáadni a csoporthoz, és a tulajdonos a socket, hogy ki a jobb olvasni egy csoportja aljzatba.

Másfelől, a jogot, hogy a socket set változó listen.mode. Nem ajánlott fel a jogait 0666 biztonsági okokból.

pm = statikus. Indításakor fpm létre egy bizonyos mennyiségű folyamat medencében, amely kiszolgálja az összes bejövő kéréseket. Vannak más lehetőségek is ellenőrzése utódfolyamatok: dinamikus és onedemand.

pm.max_children - számos jól bevált folyamatokat. Meg kell számolni, hogy mennyi memóriát az egyik folyamatot, majd ossza el a memória mennyisége szeretne kiosztani php5-FPM, az összeg CPU, a számot a pm.max_children (narimer 1000MB / 50MB = 20)

Miért ez a választás? 🙂 Ez a leggazdaságosabb megoldásnak. medence, minden folyamat fogja elfoglalni a RAM elkülönített változó memory_limit plusz egy pár megabájt csatlakoztatott modulok, stb Ha a statikus beállítást, az összes kérés csak akkor dolgozza hogy hozzon létre egy folyamat, és újakat által generált (és vegye fel értékes memóriát) nem. Ennek eredményeképpen kapunk egy fix memória-felhasználás.

Opció onedemand. szubjektív okok miatt nem alkalmas, mert minden egyes alkalommal létre utódfolyamatok átvételekor kérelmek némi időt vesz igénybe. Ez érinti a munkahelyek.

pm.min_spare_servers = Ez a paraméter kezdődik a processzormagok száma megszorozzuk 2 (1. példa core = 2 * 2)
pm.max_spare_servers = Ez a paraméter a processzormagok száma * 1 (1. példa * 4 = 4)
pm.start_servers = Ezt a paramétert képlettel számítjuk ki (pm.min_spare_servers + pm.max_spare_servers) / 2 (példa (2 + 4) / 2 = 4)
Teljes kimeneti megkapjuk körülbelül 1 konfigurációban a processzor 1 GB memória (kiosztott csak a PHP5-FPM, akkor lehet, hogy 2 GB összesen)
pm.max_children = 20
pm.start_servers = 4
pm.min_spare_servers = 2
pm.max_spare_servers = 4

pm.max_requests - a kérelmek száma feldolgozott, majd a php-FPM folyamatok újra betöltésre kerül. Elkerülve memóriavesztés ha harmadik fél könyvtárak. 1000-3000 lekérdezéseket a munka mennyiségétől függően, és a memória mennyisége a szerveren.

Amikor honlapok tervezése hasznos lehet nagyon lassú lekérdezés log optimalizálása szkripteket. Edit a változó slowlog. meghatározza a teljes elérési utat a napló.

Határozza meg, mely lekérdezések tekinthető lassú, változó segítségével request_slowlog_timeout. Itt kell megadni az időt, ami után lassú lekérdezés információ rögzítésre kerül egy log fájlt. Például:

Az utolsó lépés a felállítása php-FPM telepíteni néhány további php.ini beállításokat, amelyek nyilvántartásba közvetlenül a konfigurációs fájlban medencében.

Directory ideiglenes fájlokat:

Directory tárolására munkamenet fájlokat:

Biztonsági okokból a hozzáférést ezekhez a könyvtárakat csak akkor kellene a felhasználói jogok azaz php-fpm medence. Továbbá, ne használja ugyanazt a könyvtárat tárolására munkamenet fájlok és ideiglenes fájlokat.

Korlátozása memória futtatását kell kiválasztani a követelményei alapján a helyszínen. A kezdéshez:

Kötelező paraméter, hogy a biztonsági rés:

Változók sendmail_path és open_basedir nem szerepel kifejezetten. Ők lesznek a továbbiakban a gyors-cgi paramétereket a konfigurációs fájlban nginx. Így akkor meg a beállításokat mindegyik oldalon. 🙂

Miután az összes szükséges paramétert regisztrált, akkor újra kell indítani a php-FPM konfigurációs parancsot:

php script feldolgozás nginx

Továbbra is konfigurálható nginx dolgozni php-fpm. Config nem képviseli néhány igen bonyolult szerkezet.

Nézzük meg néhány lehetőséget részletesen.

try_files $ uri = 404; megjelenítésére 404 a felhasználó böngészőjének, ahelyett, hogy az üzenet nem érkezik bemeneti fájlt. amikor a hiba jelentkezik.

fastcgi_pass - út a socket php-fpm. Emlékezz, milyen nevet adunk neki a konfig? /run/php-$pool.sock. Csak most nginx nem érti a változók FPM, ezért adja meg az utat, mint ez: /run/php-www.sock. 🙂

Felsorolni könyvtárakat open_basedir: könyvtár a helyén, a mentési könyvtárának ideiglenes fájlok könyvtára munkamenet fájlokat.

Ha kell átadni több paramétert, hogy ezt így kell lennie:

Amint látható, a paraméterek segítségével elválasztottuk közlekedési vonalak: n.

Mentse az összes változtatást tenni, és indítsa újra nginx.

Csak szabhatja PHP-FPM, hogy automatikusan újraindul, ha problémák vannak. Ebben a példában egy újraindítás lesz, ha tíz utódfolyamatok meghal 1 percen belül, és arra számítunk, 10 másodperccel az újraindítás előtt.

Ez egy globális konfiguráció és tartozik /etc/php5/fpm/php-fpm.conf:

  • Beállítás xCache
  • [Urlspan] konfigurációk Nginx php-FPM [/ urlspan]

Kapcsolódó cikkek