Luoja | Igor Sysoev ja Maxim Konovalov ( d ) |
---|---|
Kehittäjä | NGINX, Inc. ( en ) ja Igor Sysoev |
Ensimmäinen versio | 4. lokakuuta 2004 |
Viimeinen versio | 1.21,0 (25. toukokuuta 2021) |
Edistynyt versio |
1.19.1 (7. heinäkuuta 2020) 1.19.2 (11. elokuuta 2020) 1.19.0 (26. toukokuuta 2020) 1.19.3 (29. syyskuuta 2020) 1.19,4 (28. lokakuuta 2020) 1.19,5 (24. marraskuuta 2020) 1.19,6 (15. joulukuuta 2020) 1.19,7 (16. helmikuuta 2021) 1.19,8 (9. maaliskuuta 2021) 1.19,9 (30. maaliskuuta 2021) |
Tallettaa | hg.nginx.org/nginx ja github.com/nginx/nginx |
Kirjoitettu | VS |
Käyttöjärjestelmä | Kirjoita Unix ja Microsoft Windows |
Lue muodot | PEM-koodattu varmenne ( d ) , PEM-koodattu RSA-yksityinen avain ( d ) ja Nginx-sivustot käytettävissä ( d ) |
Tyyppi |
Web Server Agent |
Jakelupolitiikka | ilmainen ohjelmisto |
Lisenssi | BSD: n 2 lauseke ( d ) |
Verkkosivusto | nginx.org |
Nginx avoimen lähdekoodin tai nginx (lausutaan [ˌɛndʒɪnɛks] ja kirjoitetaan myös nginx tai nginx ) on ilmainen ohjelmisto ja Web Server (tai HTTP ) ja käänteisen välityspalvelimen kirjoittanut Igor Sysoev , jonka kehitys alkoi vuonna 2002 varten 'venäläisen sivusto erittäin vilkkaalla liikenteellä ( Rambler ). Dokumentaatio on saatavana useilla kielillä. Se on ollut siitä lähtienhuhtikuu 2019, maailman eniten käytetty verkkopalvelin Netcraftin mukaan tai toiseksi eniten käytetty palvelin W3techsin mukaan.
F5 Networks osti NGINX Inc : n11. maaliskuuta 2019, 670 miljoonalla dollarilla.
Sen lähteet ovat saatavilla BSD-tyyppisellä lisenssillä .
NGINX on asynkroninen järjestelmä toisin kuin synkroniset palvelimet, joissa kukin pyyntö hoidetaan erillisellä prosessilla . Sen sijaan, että käyttöjärjestelmä hyödyntäisi rinnakkaista arkkitehtuuria ja tehtävien aikajakoista multipleksointia , NGINX käyttää tilamuutoksia useiden yhteyksien hallintaan samanaikaisesti; jokaisen pyynnön käsittely on jaettu lukuisiin minitehtäviin ja mahdollistaa siten tehokkaan multipleksoinnin yhteyksien välillä. Usean prosessorin tietokoneiden hyödyntämiseksi voidaan käynnistää useita prosesseja. Tämä arkkitehtuurin valinta johtaa erittäin korkeaan suorituskykyyn sekä paljon pienempään kuormitukseen ja muistin kulutukseen kuin perinteiset HTTP-palvelimet, kuten Apache .
NGINX on hyvin modulaarinen: vähän ydintä ja monia moduuleja, jotka täydentävät perustoimintoja. Jokainen moduuli voi toimia suodattimena syötteessä, lähdössä tai välisisällössä (välityspalvelimessa) lukemattomien takaisinsoittojen kautta . Siten esimerkiksi gzip- moduuli voi pakata dynaamisen sisällön lennossa ennen lähettämistä.
Nämä moduulit linkitetään palvelimeen kääntämisen aikana. NGINX ei tue jaettuja dynaamisia kirjastoja. Tengine , nginx haarukka on Taobao lisätään tätä ominaisuutta, jota ei siirtää nginx.
Ydin perustuu vähäisiin, mutta optimaalisiin tietorakenteisiin, joiden tarkoituksena on vähentää järjestelmäkutsujen määrää, erityisesti kaikessa, mikä liittyy muistin allokointiin. Eri signalointimekanismeja voidaan käyttää, jotta saat kaiken irti käyttöjärjestelmästä (esimerkiksi: epoll Linuxissa ja kqueue BSD: ssä ). Asynkroninen arkkitehtuuri helpottaa käyttöjärjestelmän ajastinta ja edistää välimuistien tai prosessorien käyttöä .
Pääprosessi ohjaa palvelinprosessia tai -prosesseja. Tämä mahdollistaa kokoonpanomuutokset tai palvelimen suoritettavan tiedoston päivittämisen keskeyttämättä HTTP-palvelua.
NGINX toimii GNU / Linux- , BSD- , Mac OS X- ja Solaris- käyttöjärjestelmissä ; Edistyneestä versiosta 0.7.52 NGINX on saatavana myös Microsoft Windowsille .
Sen lisäksi, että NGINX on HTTP-palvelin, se voidaan määrittää käänteiseksi välityspalvelimeksi ( englanniksi : käänteinen välityspalvelin ) Web- ja sähköpostin välityspalvelimeksi ( IMAP / POP3 ). NGINX: n yleisimpiä käyttökohteita ovat sen määrittäminen klassisena verkkopalvelimena staattisten tiedostojen palvelemiseen ja välityspalvelimena dynaamisille pyynnöille, jotka reititetään tyypillisesti FastCGI- liitännän kautta yhteen tai useampaan sovelluspalvelimeen kuormituksen tasausmekanismilla .
Nginx pystyy myös stream, samalla periaatteella kuin lighttpd kanssa mod_flv_streaming , videosisällön suoratoisto -tilassa ( streaming) on Flash player turvautumatta Flash Media Server. Tätä varten sillä on valinnainen http_glv_moduuli flv-videotiedoston suoratoistoon ja useita suoratoistomoduuleja, jotka voivat lähettää H.264 -koodattua videota . Sen avulla voit myös lähettää mp4: n sen valinnaisen http_mp4_module- moduulin ansiosta .
Sitä käytetään myös laajalti tuotannossa palvelemaan Ruby on Rails -sovelluksia Phusion Passenger -moduulin ansiosta . Useimmat Ruby on Rails sivustoja , joissa liikenteen käyttöön nginx (esim perusleiriin tai LinuxFr.org ).
NGINX oli vähän tunnettu Venäjää lukuun ottamatta , ennen kuin Aleksandar Lazic aloitti englanninkielisen käännöksen vuonna 2006.