Puhtaiden PHP-palvelimien nousu: NGinXin hylkääminen yksinkertaisuuden vuoksi
Puhtaiden PHP-web-palvelimien nousu: NGinXin hylkääminen yksinkertaisuuden vuoksi
Kun useimmat kehittäjät ajattelevat PHP-sovellusten käyttöönottoa, he näkev mielessään tutun teknologiapinon: NGinXin tai Apachen web-palvelimena, PHP-FPM:n PHP:n suorittamiseen ja mahdollisesti Redisin välimuistia varten. Tämä on toiminut vuosia. Mutta entä jos voisit poistaa infrastruktuuristasi kokonaisia kerroksia?
Tämä on kysymys, jonka taakse piirtyvät hankkeet kuten Qbix/webserver, puhtaasti PHP:llä toteutettu web-palvelin, joka herättää huomiota kehittäjäyhteisössä.
Mitä puhtaasti PHP:llä toteutettu web-palvelin oikeastaan on?
Perinteinen PHP-hosting nojaa ulkoisiin ohjelmistoihin HTTP-yhteyksien käsittelyssä. NGinX vastaanottaa saapuvat pyynnöt, välittää ne PHP-FPM:lle FastCGI:n kautta, ja PHP suorittaa koodisi. Tämä on moniprosessinen, moniteknologinen kokonaisuus, joka on虽有 taistelukokemusta, mutta tuo mukanaan monimutkaisuutta.
Puhtaasti PHP:llä toteutettu web-palvelin tekee juuri sen, miltä nimensä kuulostaa—se on kirjoitettu kokonaan PHP:llä. Palvelin toimii PHP-prosessina, käsittelee HTTP-pyynnöt, hallinnoi WebSocket-yhteyksiä ja voi jopa tarjota staattisia tiedostoja. Ei NGinXia. Ei Apachea. Ei erillistä PHP-FPM-daemonia.
Miksi sinun pitäisi olla kiinnostunut?
Tässä on joitakin syitä, minkä vuoksi tämä lähestymistapa on saamassa huomiota:
Yksinkertaisempi käyttöönotto Yksi vähemmän teknologia konfiguroitavaksi, turvattavaksi ja ylläpidettäväksi. Nopeasti toimiville startupeille infrastruktuurin monimutkaisuuden vähentäminen voi säästää arvokkaita insinööritunteja.
Yhtenäinen koodikanta Web-palvelimesi ja sovelluksesi on kirjoitettu samalla kielellä. Tämä tarkoittaa, että voit laajentaa, virheenkorjataa ja mukauttaa palvelimen toiminnallisuutta PHP:llä—samalla osaamisella, jota tiimilläsi jo on.
Sisäänrakennettu WebSocket-tuki Modernit sovellukset tarvitsevat reaaliaikaisia ominaisuuksia. Puhtaat PHP-palvelimet sisältävät usein natiivin WebSocket-käsittelyn, mikä poistaa tarpeen erillisiltä palveluilta, kuten Socket.io -palvelimilta tai kolmannen osapuolen reaaliaikaisilta alustoilta.
Pienempi muistinkulutus Koska NGinX:lle ja PHP-FPM:lle ei tarvita erillisiä prosesseja, muistinkulutus voi olla pienempi, mikä voi tarkoittaa kustannussäästöjä pienemmissä ympäristöissä.
Huomioitavat kompromissit
Ollaan rehellisiä—puhtaat PHP-web-palvelimet eivät ole hopealuoti. NGinX on kirjoitettu C:llä ja optimoitu käsittelemään tuhansia samanaikaisia yhteyksiä minimaalisella ylikuormituksella. PHP, vaikka tehokas, omaa erilaiset suorituskykyominaisuudet.
Suuriliikenteen tuotantoympäristöissä, jotka käsittelevät miljoonia pyyntöjä päivässä, perinteiset teknologiapinot ovat edelleen etumatkalla. Mutta seuraavissa tapauksissa:
- Kehitys- ja testiympäristöt
- Pienet ja keskisuuret liikennemäärät
- Projektit, joissa yksinkertaisuus on etusijalla marginaalisiin suorituskykyhyötyihin nähden
- Prototyypit ja MVP:t (minimally viable products)
Puhtaat PHP-palvelimet tarjoavat virkistävän vaihtoehdon.
Onko tämä PHP-hostingin tulevaisuus?
Puhtaiden