Processzkezelőkkel szemtől szemben: HTTPD MPM és PHP FPM változatok linux környezetben

cikk borítókép

Webszerverek beállításánál az MPM konfigurálása egy nem elhanyagolható kérdés. Nem az üzemeltetett weblapokhoz optimalizált értékekkel ugyanis előfordulhat, hogy az oldal belassul vagy a látogatók hibaüzenetekkel találkoznak, mert a szerver nem képes több kérést kiszolgálni egyszerre, vagy éppen erőforrást pazarolsz a webszerverre, miközben máshol nagyobb szükség lenne rá. Az Apache HTTPD-nél ismert MPM-hez hasonló a PHP-nél az FPM, ami szintén a processzek kezelését végzi a PHP értelmező esetén, amikor az nem a HTTPD moduljaként működik, hanem külső szolgáltatásként. Mivel a "rimelek.hu" egy időben rendszeresen megállt, akkor megelégeltem tudatlanságom és benéztem a színfalak mögé. Ebben a cikkben összegzem a tanultakat.

Megosztás/Mentés

Beszámoló: Networkshop 2017, Szeged

Idén 26. alkalommal került megrendezésre a Networkshop nevű számítógép-hálózati konferencia, aminek ezúttal a Szegedi Tudományegyetem adta a helyszínt az SZTE József Attila Tanulmányi és Információs Központ épületében. Az eseményt a Kormányzati Informatikai Fejlesztési Ügynökség (KIFÜ) és a HUNGARNET egyesület szervezte és 2017. április 19-től április 21-ig tartott. A rendezvényen könyvtárosok és az informatika különböző területein dolgozó előadók és érdeklődők jelentek meg, hogy tapasztalatot cseréljenek. Idén én is az előadók számát növeltem, ahol a Dockerrel kapcsolatban szerzett ismereteimet foglaltam össze 20 percben. Az alábbiakban az esemény részleteiről számolok be.

Megosztás/Mentés

Első lépések a Docker konténerekig

Eddig már két alkalommal is a Docker előnyeiről írtam, de ebben a cikkben a gyakorlatibb oldaláról közelítem meg a témát. Dockerrel elindítani egy már eleve arra készített programot gyerekjáték és így öröm dolgozni. Ezt lehet bonyolítani, de egyelőre bőven elég lesz a vidámabb része. Ehhez azért pár fogalmat tisztázni kell, mert bár a gyerek kreatívan eljátszik bármivel, a Docker esetén jobb, ha tudod, mi, mire való. Mindeközben használhatod a teszteléshez a Play with Docker szolgáltatást, hogy telepíteni se kelljen semmit. És ami a legszebb, legegyszerűbb esetben ennyi egy program indítása: docker run hello-world

Megosztás/Mentés

Mese a Dockerről

Amikor az ember megpróbál egy teljesen új témát bevezetni, problémát jelenthet, hogyan is kezdjen neki, mennyire induljon az alapoktól. Én is így jártam az előző, és egyben első, Dockerről szóló bejegyzésemnél. A visszajelzések felhívták rá a figyelmem, hogy valószínűleg nem volt teljesen érthető és világos, hogy mi is az a Docker és miért jó ez neked. Április 21-én előadást tartok a témában Szegeden a Networkshop konferencián, aminek főpróbájaként a könyvtáros kollégáknak is volt lehetőségem bemutatni a témát. Erre az alkalomra egy olyan, érthetőbb bevezetővel kezdődő prezentációt készítettem, ami ábrákkal teszi felfoghatóbbá a Dockert és annak világát. Ezt a bevezetőt hoztam el cikk formájában.

Megosztás/Mentés

Docker, az informatika kikötőmunkása

Korábban már írtam virtuális gépekről és azt is megmutattam, hogyan alakítható ki vele egy komplett fejlesztői tesztkörnyezet. Már ez a fajta virtualizáció is sokat segített bizonyos problémák megoldásában. Van azonban egy másik lehetőség, amikor nem egy virtuális gépet indítasz egy teljes értékű operációs rendszerrel, hanem csak az alkalmazásod számára biztosítod azokat a programkönyvtárakat, binárisokat, amit valójában el szeretnél indítani. Valószínűleg legtöbbetek számára ez alapján egy egyszerű "jail" ugrik be, ahol egy programot be lehet zárni a fájlrendszernek egy adott területére és csak az azon belüli fájlokat látja. Gyakorlatilag valóban valahol itt kezdődött minden.

Megosztás/Mentés

Új születésnap

Elérkezett napja, hogy kijelenthetem az I.T sziget születését. 2009 óta minden saját szerzeményt - legyen az vers vagy szakmai cikk - egy felületen osztottam meg a rimelek.hu oldalon. Mától kezdve az it-sziget.hu veszi át az informatikai cikkeket és a korábbiak is átkerültek ide.

Az utóbbi egy évben egy kicsit új területre eveztem, ami pedig a konténerizáció. A tervek szerint erre a témára nagy hangsúlyt fogok fektetni és megosztom a már elkészült megoldásaimat, illetve újakra is lehet számítani. Így várható a korábbi Tesztkörnyezet kialakítása webfejlesztéshez sorozat Docker-es változata is.

Kisebb változások még előfordulhatnak a weboldalon, ugyanis még nem működik minden tökéletesen, de törekszem rá. Ha bárki bármilyen hibát, kényelmetlenséget tapasztal az oldalon, kérem, jelezze, hogy minél barátságosabb szigetet alakíthassak ki, ami lehetőleg nem lakatlan.

Ezennel megnyitom az I.T. szigetet az informatika végtelen óceánján és bízom benne, hogy hamarosan benépesítjük.

Megosztás/Mentés

Phar fájlok, avagy PHP archívumok

A Phar egy mozaik szó, ami a PHP Archive, azaz a PHP Archívum szavakból jött létre és egyben az archívum fájlok kiterjesztése is. Java programozók a JAR-hoz, illetve WAR-hoz hasonlíthatják. Bár bizonyos tekintetben a Windows DLL fájljaival is párhuzamot vonhatnánk, hiszen egy fájlba csomagolt programkönyvtárról beszélünk. A DLL-ekkel ellentétben viszont a PHAR fájlok futtathatók is, mint egy exe. Természetesen attól távol áll, mivel továbbra is a PHP értelmező lesz az, ami az értelmezést, futtatást végzi.

A PHAR kicsit mostoha gyerek, mert el is terjedt és nem is. Míg a JAR gyakorlatilag kéz a kézben jár a Java-val, a PHP archívumok nem ennyire általánosak és bizony gondolkodni kell rajta, hogy mikor, mire is érdemes használni, ha egyáltalán érdemes.

A PHP, fájlkiterjesztések és kódszervezés című cikkben kihagytam ezt a formátumot, ami lehetett volna szándékos, de szimplán elfelejtettem. Most viszont alaposabban körbejárom a témát. Igyekszem választ adni néhány potenciális kérdésre, illetve mutatok példákat és felhívom a figyelmet a buktatókra.

Abból, amit ez a formátum ígér, nem sikerült mindent kipróbálnom. A dokumentáció gyakran hiányos, és nem is beszélnek róla mások sem. Ettől függetlenül összeállítottam egy példasorozatot a főbb funkciók bemutatására a teljesség igénye nélkül. A példák elérhetők github-on vagy letölthetők Docker image-ként is "1.0" tag-et megadva.

Megosztás/Mentés

PHP, fájlkiterjesztések és kódszervezés

A fájlkiterjesztések kérdéséről azt gondolhatja mindenki, hogy ez egyértelmű, pedig nem az. Legalábbis sokaknak valószínűleg nem. Megpróbálom tehát tisztázni, hogy egyáltalán mi a jelentősége a témának, főként PHP programozás esetén, de általában véve is. Kitérek arra, hogy mikor, milyen kiterjesztést érdemes választani, illetve mikor, milyent nem. Ha pedig nem javasolt egy megoldás, akkor mi az, ami a követendő út.

Megosztás/Mentés

Statikus oldal lapozása görgetéssel

A félreértések elkerülése végett, nem arról lesz szó, hogyan tölthetsz be új tartalmat görgetéssel, hanem egy statikus weblap egyes részei között válthatsz úgy, mintha azok önálló oldalak lennének.

Megjegyzem, nem biztos, hogy én vagyok a legalkalmasabb ember ennek a témának a kitárgyalására, de minden esetre egy, a mai böngészőkben működő megoldást részletesen bemutatok és a tőlem telhető módon általánosan is beszélek a témáról.

Akit csak a végeredmény érdekel mindenféle rizsa nélkül, kattintson a tartalomjegyzékben a "Csak a végső kód" linkre.

Megosztás/Mentés

Google Cardboard: 50 virtuális valóság alkalmazás bemutatása

VR Alkalmazások

A virtuális valóságról és a hozzá szükséges szemüvegről már írtam korábban. Most viszont részletesebben beszámolok kategorizálva egyes alkalmazásokról. Leírom a tapasztalataimat és igyekszem minden kategóriát összefoglalva értékelni és levonni a tanulságot. Fontos tény, hogy az alkalmazásokat Sony Xperia Z2a telefonnal és VR Box szemüveggel teszteltem, így másnak más tapasztalatai lehetnek. A leírást csak áttekintésnek, segítségnek szánom. Idővel az alkalmazások javulhatnak, elromolhatnak. Ezért egy adott téma iránt érdeklődök nyugodtan próbálják ki bármelyik játékot a véleményemtől függetlenül.

Megosztás/Mentés