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]