- Ez egy nyílt forráskódú, gyors, könnyű és nagy teljesítményű webszerver, amely statikus fájlok kiszolgálására használható.
- Az NGINX az Apache webszerver és a Microsoft IIS mögötti népszerű webszervernek tekinthető.
- A kezdeti kiadásban az NGINX HTTP webszolgáltatáshoz működött. Ma azonban fordított proxyszerverként is szolgál a HTTP, HTTPS, SMTP, IMAP, POP3 protokollokhoz, másrészt HTTP terheléselosztóhoz, HTTP gyorsítótárhoz és email proxyhoz is használható IMAP, POP3, ill. SMTP.
- Az NGINX javítja a tartalom és az alkalmazások szállítását, javítja a biztonságot, valamint megkönnyíti a méretezhetőséget és az elérhetőséget az internet legforgalmasabb webhelyei számára.
- Röviden azt mondhatjuk, hogy az Nginx csak egyfajta szoftver, amelyet webszervereken használnak párhuzamos kérések kiszolgálására.
- Korábban az Apache-t telepítettük webszerverekre, hogy kezelni tudjuk ezeket a funkciókat, de ahogy a világ egyre több dolgot növekszik és követel egyszerre, úgy jön a világra a párhuzamosság kifejezés, és az nginx is elindult ugyanerre.
- Az Nginxet Igor Sysoev hozta létre, az 1utcanyilvánosságra hozatala 2004 októberében próbált választ adni a C10k probléma . Ahol a C10k a 10 000 kapcsolat egyidejű kezelésének kihívása. Ma még több kapcsolat van, amelyet a webszervereknek kezelniük kell. Emiatt az nginx eseményvezérelt és aszinkron architektúrát kínál. Ezzel a funkcióval az nginx a legmegbízhatóbb szerver a skálázhatóság és a sebesség szempontjából.
- Néhány, az Nginxet használó magas rangú vállalat közé tartozik az IBM, a Google, az Atlassian, az Autodesk, a GitLab, a DuckDuckGo, a T-Mobile, a Microsoft, az Adobe, a Salesforce, a VMware, a LinkedIn, a Cisco, a Twitter, az Apple, az Intel, a Facebook és még sok más.
Miért érdemes az NGINX-et használni?
Az NGINX különféle szolgáltatásokat nyújt, például fordított proxy-, terheléselosztó- és sebességkorlátozási hálózati szolgáltatásokat. A fordított proxy akkor hasznos, ha több webszolgáltatásunk figyel a különböző portokon, és egyetlen nyilvános végpontra van szükségünk a kérések belső átirányításához. Ez lehetővé tenné számunkra, hogy több tartománynevet is tároljunk a 80-as porton, miközben különböző NodeJ-k, Go és java kombinációját használjuk a színfalak mögötti külön webszolgáltatások működtetésére.
Az Nginx képes kezelni a naplózást, a feketelistázást, a terheléselosztást és a statikus fájlok kiszolgálását, miközben a webszolgáltatások arra összpontosítanak, amit tenniük kell.
Az Nginx konfigurálása egyszerűbb, mint az Apache httpd. Az Nginx-et nagy párhuzamosságra tervezték, és nagyon gyors.
Hogyan működik az NGINX?
Mielőtt megismernénk az NGINX folyamatát, vessünk egy pillantást a webszerver működésére. Amikor egy weboldal megnyitását kérjük, a böngésző kapcsolatba lép a szerverrel. Ezután a szerver megkeresi az oldalhoz kért fájlokat, és elküldi a böngészőnek. Ez az egyetlen legegyszerűbb munka egy kérésre.
A fenti példa is egyetlen szálnak tekinthető. Hagyományosan a webszerverek, mint az Apache, minden kéréshez egyetlen szálat hoznak létre, de az Nginx nem működik így. Az Nginx aszinkron, eseményvezérelt architektúrával működik. Okosan követi egy folyamat eseményeit.
Az Nginx a feladatát a munkás folyamat és dolgozói kapcsolatok . Itt dolgozói kapcsolatokat használnak a webszerver felhasználói által benyújtott kérések és válaszok kezelésére; ugyanakkor ezeket a kéréseket átadják a szülőfolyamatnak, amelyet munkafolyamatnak neveznek.
Nézzünk egy példát az Nginx szerverre, amely egyidejű MP3 és MP4 fájlkéréseket kezel: -
A fenti diagramból láthatjuk, hogy egyetlen dolgozó kapcsolat körülbelül 1024 kapcsolatot képes kezelni egyszerre. Ez a munkáskapcsolat legjobb képessége. A kiszolgáló típusától függően előfordulhat, hogy az Nginxben a worker folyamatok száma „n” lesz, és minden egyes munkafolyamat különböző feladatokat kezel, így több egyidejű kérést tud kezelni.
Végül a munkafolyamat átadja a kéréseket az Nginx főfolyamatnak, amely közvetlenül csak az egyedi kérésekre válaszol.
Mivel a dolgozói kapcsolat akár 1024 hasonló kérést is képes kezelni. Emiatt az Nginx több ezer kérést tud nehézségek nélkül kezelni. Ez az oka annak is, hogy az Nginx kiváló szerverré vált olyan forgalmas webhelyek számára, mint az e-kereskedelem, a keresőmotorok és a felhőalapú tárolás.
Az NGINX jellemzői
Az Nginx néhány funkciója a következő:
- Fordított proxy gyorsítótárazással
- IPv6
- Terhelés elosztás
- Web Sockets
- Statikus fájlok, indexfájlok kezelése és automatikus indexelés
- FastCGI támogatás gyorsítótárazással
- URL átírása és átirányítása
Mit tehet Önért az NGINX és az NGINX Plus?
Az Nginx és az Nginx plus a legjobb webszerverek és alkalmazás-szállítási megoldások, amelyeket olyan nagy forgalmú webhelyek használnak, mint a Netflix, a Dropbox és a Zynga. A legforgalmasabb webhelyek, mint például a Google, a Netflix, a Twitter, a Facebook stb., az Nginx és az Nginx Plus szolgáltatásra támaszkodnak, hogy tartalmaikat biztonságosan, megbízhatóan és gyorsan továbbítsák.
- Az Nginx elavulttá teszi a hardveres terheléselosztókat – az Nginx nyílt forráskódú, olcsóbb és jobban konfigurálható, mint a hardveres terheléselosztók, és modern felhőarchitektúrákhoz készült.
Az Nginx plus menet közbeni újrakonfigurálási támogatást nyújt, és integrálódik a modern DevOps eszközökkel a könnyebb megfigyelés érdekében. - Az NNginx egy többfunkciós eszköz – az Nginx használatával ugyanazt az eszközt használhatjuk, mint a terheléselosztónkat, a tartalomgyorsítótárunkat, a fordított proxyt és a webszervert. Minimálisra csökkenti a szerszámok mennyiségét, mivel szervezetünk konfigurációjának karban kell tartania.
Az Nginx Plus tartalmazza a gyors reagálást az ügyfélszolgálatnak, így könnyen kaphatunk segítséget a verem bármely részének diagnosztizálásához, amely az Nginx Plus-t és az Nginxet használja. - Az NGINX folyamatosan fejlődik. Az elmúlt évtizedben az NGINX élen járt a modern web fejlesztésében, és a HTTP/2-től a mikroszolgáltatások támogatásáig mindenben az élen járt.
Ahogy a webalkalmazások fejlesztése és szállítása folyamatosan fejlődik, az NGINX Plus folyamatosan olyan funkciókat ad hozzá, amelyek lehetővé teszik az alkalmazások hibátlan szállítását.