- I-Nginx iyiseva yewebhu esebenza kahle kakhulu futhi ekalayo, i-proxy ehlehlayo, kanye nesilinganisi sokulayisha.
- Isebenzisa i-asynchronous, i-architecture esekelwe kumcimbi eyivumela ukuthi iphathe izinkulungwane zokuxhuma ngesikhathi esisodwa nokusetshenziswa okuphansi kwezinsiza.
- Uma iqhathaniswa ne-Apache, iphumelela kakhulu ekuletheni okuqukethwe okumile nasezindaweni ezinethrafikhi ephezulu.
Esikhathini sedijithali, lapho isivinini nokusebenza kahle kwewebhu kwenza umehluko phakathi kwempumelelo eku-inthanethi kanye nokwehluleka, ukukhetha ingqalasizinda efanele kubalulekile. Omunye wabadlali abakhulu kulo mkhakha yi-Nginx, isofthiwe eye yadlula amanye amaseva endabuko ngokuthandwa futhi okwamanje inika amandla ingxenye enkulu ye-inthanethi, kufaka phakathi amawebhusayithi ezinkampani zobuchwepheshe zomhlaba wonke.
Uma uzibuza ukuthi iyini i-Nginx, isebenza kanjani, nokuthi kungani imidondoshiya efana ne-Netflix, Google, kanye ne-Cloudflare iyikhethile, nansi inkomba ebanzi yokuyiqonda, ukuhlaziya izinzuzo zayo, ukufunda izici zayo, nokwazi ukuthi ungayisebenzisa nini ukuze uthole okuningi kumaphrojekthi akho aku-inthanethi.
Yini iNginx? Umlando nokuziphendukela kwemvelo
I-Nginx (ebizwa ngokuthi "injini-ex") iyisofthiwe evulekile esebenza njengeseva yewebhu, yize futhi isebenza njenge-reverse proxy, i-load balancer, kanye ne-imeyili proxy. Ukuthuthukiswa kwayo kwaqala ngo-2002 ngu-Igor Sysoev njengesixazululo sobuchwepheshe senkinga ebizwa ngokuthi i-C10K, ebhekisela ebunzimeni bokuphatha izinkulungwane zokuxhumeka ngasikhathi sinye kumaseva ewebhu avamile.
Inguqulo yayo yokuqala yakhishwa ngo-2004 futhi kusukela ngaleso sikhathi, i-Nginx isibe yisisombululo esithandwayo samawebhusayithi anethrafikhi ephezulu kanye nezinkampani ezidinga ukusebenza okuphezulu kanye nokukhula, njenge-Apple, Netflix, Cloudflare, Google, WordPress.com, Intel, Microsoft, Facebook, Twitter, LinkedIn, IBM noma i-Salesforce.
Isihluthulelo sempumelelo yayo sisekwakhekeni kwayo okungenaziphazamiso kanye nokusekelwe emicimbini , okuvumela ukuthi iphathe inani elikhulu lokuxhumana ngesikhathi esisodwa ngaphandle kokubangela ukusetshenziswa kwememori ngokweqile noma umthwalo weseva.
I-Nginx isetshenziselwa ini? Ukusetshenziswa okuyinhloko
I-Nginx yazalwa njengeseva yewebhu, kodwa ukusebenza kwayo kahle kwayivumela ngokushesha ukuthi ikhulele kwezinye izindlela ezisetshenziswa kakhulu kwingqalasizinda yesimanje. Imisebenzi yayo eyinhloko ifaka:
- Iseva yeWebhu: Inikeza amafayela amile (izithombe, i-HTML, i-CSS, i-JS, amavidiyo, njll.) ngokuqondile kuziphequluli zabasebenzisi ngokushesha okukhulu nangempumelelo.
- Hlehlisa ummeleli: Ithola izicelo ezivela kubasebenzisi futhi izidlulisele kuseva eyodwa noma ngaphezulu engemuva, kungakhathaliseki ukuthi ezinye iziphakeli zewebhu noma izinhlelo zokusebenza (ezifana ne-Apache, Node.js systems, noma izinsiza eziphethwe). Ngakho-ke isebenza njengomxhumanisi phakathi kwe-inthanethi nengqalasizinda yakho yangaphakathi.
- Layisha isilinganisi: Isabalalisa ithrafikhi engenayo kuwo wonke amaseva amaningi angemuva, ithuthukisa ukutholakala, ivumela ukukala okuvundlile, futhi igwema izithiyo.
- Ummeleli we-imeyili: Isebenza njengommeleli wamaphrothokholi e-IMAP, POP3, kanye ne-SMTP, ithuthukisa ukuphepha nokusebenza kumaseva e-imeyili.
- I-Cache Booster: Ungagcina okuqukethwe okukhiqizwe amaseva angemuva futhi ukunikeze ngokuqondile, wehlise umthwalo kungqalasizinda yakho futhi usheshise ukulethwa kokuqukethwe.
- Ukuphathwa kokuphepha: Ikuvumela ukuthi ulungiselele imithetho ehlukene ukuze uhlunge ithrafikhi, uvimbele ukuhlaselwa, ukhawulele ukuxhumana, noma uphathe izitifiketi ze-SSL/TLS nokubethela kwe-HTTPS.
Ikhono layo lokuzivumelanisa nezimo ezahlukene liyihlanganisa njengethuluzi eliphelele emhlabeni wokulethwa kokuqukethwe kanye nokuphathwa kwethrafikhi yewebhu , elikwazi ukuphendula kokubili izinhlelo zokusebenza ezilula kanye nezimo zebhizinisi eziyinkimbinkimbi nezinkulu.
I-Technical Architecture: Isebenza kanjani i-Nginx?
Okuhlukanisa ngempela i-Nginx kwamanye amaseva ewebhu ajwayelekile njenge-Apache ukwakheka kwayo kwangaphakathi. Ngenkathi i-Apache isebenzisa imodeli esekelwe enqubweni noma emicu, lapho isicelo ngasinye sivula khona intambo noma inqubo ehlukile (indlela enzima), i-Nginx isebenzisa ukwakheka okungenazihibe, okuqhutshwa yimicimbi.
Kusho ukuthini lokhu? Esikhundleni sokudala inqubo ehlukile yesicelo ngasinye, i-Nginx isebenzisa inqubo eyinhloko ephatha izinqubo eziningi zabasebenzi . Isisebenzi ngasinye singaphatha izinkulungwane zokuxhumeka ngasikhathi sinye ngenxa yamasu e-I/O angavimbeli kanye nokuhlela okuqhutshwa yimicimbi. Lokhu kunciphisa inkumbulo kanye nokusetshenziswa kwe-CPU, ngisho nangaphansi kwethrafikhi ephezulu.
Ukusebenza okuyisisekelo:
- Umsebenzisi wenza isicelo ngesiphequluli sakhe.
- I-Nginx ithola isicelo kunqubo yayo eyinhloko futhi yabela isisebenzi esitholakalayo.
- Isisebenzi sicubungula isicelo ngokuya ngokucushwa: singasebenzisa okuqukethwe ngokuqondile, sikudlulisele ku-backend, kusigcine kunqolobane, nanoma yisiphi esinye isenzo esichaziwe.
- Uma umsebenzi usuqediwe, i-Nginx inganikeza isicelo esilandelayo ngokuzenzakalelayo, iphinde isebenzise inqubo efanayo.
Le ndlela ivumela i-Nginx ukuthi iphathe amashumi ezinkulungwane zokuxhumeka ngasikhathi sinye ngokusetshenziswa okuncane kwezinsizakusebenza , okwenza ifaneleke kakhulu kumawebhusayithi anamuhla, ama-API, izinsizakalo zamafu, kanye nezinhlelo zokusebenza ezibalulekile.
Izici zobuchwepheshe kanye nezinzuzo eziyinhloko ze-Nginx
- Ukusebenza okuphezulu nokusebenza kahle: Icubungula inani elikhulu lezicelo nge-latency ephansi. Isakhiwo sayo sigwema izingqinamba ezivamile kwamanye amaseva.
- Ukwehluka: Ivumelana kalula neziqongo zethrafikhi, ngokukhuphula izinsiza kuseva eyodwa noma ngokusabalalisa umthwalo ezindaweni ezimbalwa.
- Ukusetshenziswa kwensiza okuphansi: Idinga i-RAM ne-CPU encane, ekhuthaza ukonga kwezomnotho nokusebenza kahle kwamandla.
- Ukuhambisana kwe-Cross-platform: Itholakala ku-GNU/Linux, BSD, Solaris, Mac OS X ne-Windows (yenza kangcono ezindaweni ze-Unix). Funda mayelana nezinye izinhlobo zamaseva ewebhu.
- ukumisa okuguquguqukayo: Kwenziwa ngamafayela ombhalo alula, kusiza ukuzenzela kanye nokwenza ngokwezifiso.
- Isimo: Isekela amamojula nezandiso ukwengeza ukusebenza okunjengokuqinisekisa, ukucindezela, nokuphepha.
- Amaphrothokholi abuyekeziwe: Iphatha i-HTTP, i-HTTP/2, i-HTTPS, i-WebSockets, izivumelwano zemeyili, kanye ne-IPv6. Ukuze uqonde kangcono ukuthi ukubethela kusebenza kanjani ku-HTTPS, ungabuyekeza ukuthi iphrothokholi ye-HTTPS isebenza kanjani.
- Inqolobane ethuthukisiwe: Ihlanganisa inqolobane yommeleli kanye nenqolobane ye-fastcgi ukusheshisa ukulethwa nokunciphisa imithwalo ye-backend.
- Ezokuphepha: Inikeza izilungiselelo ezithuthukisiwe zokuvikela i-DDoS, ukucindezela kokuxhumeka, kanye nokubethela kwe-SSL/TLS. Ukuze ungene ngokujulile ekuvikelekeni kweseva, bheka iphrothokholi ye-SSL/TLS.
- Ukulinganisa okuhlakaniphile: Ihambisa ithrafikhi isebenzisa ama-algorithms afana ne-round robin, ukuxhumana okuncane noma i-IP hashi.
- Ukuphatha kahle okuqukethwe okumile: Inikeza izithombe namafayela e-CSS/JS ngesivinini esiphezulu.
- Ukusekelwa kwe-HTTPS/SSL: Kufaka phakathi ukusekelwa kwezitifiketi zedijithali, i-SNI kanye nokubethela okuthuthukile.
Ukuqhathanisa: Nginx vs Apache namanye amaseva ewebhu
I-Apache ne-Nginx yizinsika ezimbili zamaseva ewebhu, kodwa umehluko wabo uyisihluthulelo sokukhetha ngokusekelwe esimweni.
- Imodeli yokucubungula: I-Apache isebenzisa izinqubo/imicu ngesicelo ngasinye, okwandisa ukusetshenziswa ngaphansi kwezimo eziphezulu zethrafikhi. I-Nginx, ngesakhiwo sayo esekwe kumcimbi, isebenza kahle kakhulu ngokuxhumeka ngasikhathi sinye.
- Ukuphathwa kokuqukethwe okungashintshi: I-Nginx ihamba phambili ekunikezeni amafayela amile ngokushesha nangokusebenzisa amandla aphansi. I-Apache, ngenkathi inekhono, idinga inkumbulo eyengeziwe futhi ingaba ne-latency ephakeme.
- .htaccess nokucushwa: I-Apache ikuvumela ukuthi uguqule izilungiselelo ngohla lwemibhalo ngalunye ngamafayela we-.htaccess, kube lula ukulungiswa okusheshayo. I-Nginx ayikusekeli lokhu; konke ukulungiselelwa kwenziwa kumafayela omhlaba, okudinga ukuhlela okwengeziwe.
- Ukusebenziseka kalula nokusekelwa: I-Apache isebenziseka kalula kubasebenzisi be-novice futhi inokusekelwa okubanzi. I-Nginx, ngenkathi inamandla kakhulu ezindaweni ezithuthukile, idinga ulwazi lobuchwepheshe olwengeziwe lokucushwa okuyinkimbinkimbi.
- Ukulinganisa kanye nommeleli: Zombili lezi zinhlelo zinikeza le misebenzi, kodwa i-Nginx iyenza ngokuphumelelayo nangomdabu ngenxa yezakhiwo zayo.
- Ukusetshenziswa kwensiza: Ngaphansi kwemithwalo efanayo, i-Nginx ivame ukusebenzisa i-RAM ne-CPU encane uma iqhathaniswa ne-Apache namanye amaseva afana ne-IIS noma i-Lighttpd.
Ukusetshenziswa kwe-Nginx nezibalo zokuduma
Ukukhula kwe-Nginx kube yinto engavamile, futhi eminyakeni embalwa nje izenzele yona njengeseva esetshenziswa kakhulu ezindaweni ezinethrafikhi ephezulu.
Ngokwezifundo:
- I-Nginx ikhona kumawebhusayithi angaphezu kuka-40% anethrafikhi ephakeme kakhulu yomhlaba wonke; Ezingosini ezingu-10.000 ezivakashelwe kakhulu, lidlula ngisho no-60%.
- Izinkampani ezifana ne-Apple, Netflix, Cloudflare, WordPress.com, Facebook, T-Mobile, GitLab, Salesforce, kanye ne-NASA zithemba i-Nginx ukuletha okuqukethwe ezigidini zabasebenzisi nsuku zonke.
- Ngenkathi ukuthandwa kwe-Apache kuncipha ngokwanda kwethrafikhi, i-Nginx iyaqhubeka nokwenza kahle ezimweni ezidingeka kakhulu, ezidinga izinsiza.
Impumelelo yayo ilele ekhonweni layo lokuphatha kahle izinkulungwane zezicelo kanye nokuvumelana kwayo nezimo ezihlukahlukene.
Amacala Okusebenzisa i-Nginx ajwayelekile
Nakuba ingafakwa kumaseva ahlukene, ukusetshenziswa kwayo kunconywa kakhulu ezimweni ezilandelayo:
- Iletha okuqukethwe okumile: Ilungele amasayithi anikezela ngezithombe eziningi, amavidiyo, noma amafayela angadingi ukucutshungulwa okunamandla.
- Hlehlisa Ummeleli kanye Nokulinganisa Komthwalo: Iwusizo kakhulu kungqalasizinda ephethe umthamo omkhulu wethrafikhi esatshalaliswa ezindaweni eziningi ezingemuva.
- Ukuvumelana okuphezulu nokulinganisa: Ibalulekile ekuphatheni izinombolo eziphezulu zezivakashi, ithrafikhi yamazwe ngamazwe, noma amaphrojekthi akhula ngokushesha.
- ukuphepha okuthuthukisiwe: Uma ubheke ukufihla ingqalasizinda yangaphakathi, vimba ukuhlaselwa, noma uphathe izitifiketi eziyinkimbinkimbi ze-SSL.
- Ukuhlanganiswa ne-Apache: Abantu abaningi bahlanganisa i-Apache njengeseva yesicelo kanye ne-Nginx njengommeleli ukuze bathole okungcono kakhulu kuwo womabili umhlaba.
- Iziphakeli zemeyili: I-Nginx ingasebenza njengommeleli wamaphrothokholi e-IMAP, POP3 kanye ne-SMTP esebenza kahle kakhulu.
Ukungalungi namaphoyinti okufanele acatshangelwe nge-Nginx
Naphezu kwezinzuzo zayo, kunezici okufanele zicatshangelwe:
- Ijika lokufunda: Ukulungisa izici ezithuthukile kudinga ulwazi lobuchwepheshe; akukho usekelo lwe-.htaccess, ngakho-ke izinguquko zithinta yonke iseva.
- Ukuhlanganiswa okuncane nokuqukethwe okuguquguqukayo: Yize isisebenza kahle kakhulu nge-PHP-FPM, ukuhlanganiswa kwayo akulula njengaku-Apache.
- Ayisekeli i-.htaccess: Zonke izilungiselelo kufanele zenziwe kumafayela okucushwa omhlaba, okwenza kube nzima ukulungisa uhla lwemibhalo ngokushesha.
- Ukuncika futhi: Amanye amamojula asadinga ukuthi i-Nginx ihlanganiswe kabusha, engangeza inkimbinkimbi ekufakweni ngokwezifiso.
I-Nginx Plus: Inguqulo Yezentengiselwano
Ngaphezu kwenguqulo yomthombo ovulekile, i-Nginx inikeza i-Nginx Plus, ehlanganisa izici ezengeziwe ezigxile ebhizinisini:
- Ukuqapha okuthuthukile namadeshibhodi ahlanganisiwe.
- Usekelo lwezobuchwepheshe olubalulekile nezibuyekezo zebhizinisi.
- Ukulinganisa komthwalo okuthuthukisiwe.
- Ukuqapha okusebenzayo kwezempilo kanye nokuphathwa kweseshini.
- Ukuhlanganiswa namathuluzi okuqapha kanye ne-automation.
Kumaphrojekthi amaningi, inguqulo yamahhala inganele, yize i-Nginx Plus ihloselwe izinkampani ezinkulu noma lezo ezidinga ukwesekwa kochwepheshe kanye nezici ezengeziwe.
Ungazi kanjani ukuthi iwebhusayithi isebenzisa i-Nginx?
Ukuze ubone ukuthi isayithi lisebenzisa i-Nginx, ungabheka izihloko ze-HTTP kumathuluzi kanjiniyela wesiphequluli sakho noma ngezinsizakalo zezinkampani zangaphandle.
- Vula isayithi kusiphequluli sakho, finyelela amathuluzi, bese uhlola isihloko "seseva". Uma ithi "nginx," cishe iyasebenza.
- Sicela uqaphele ukuthi amanye amasayithi afihla lolu lwazi esebenzisa ama-proxy, futhi kulezo zimo unhlokweni uzobonisa umlamuli.
- Ungasebenzisa futhi izinkundla ezifana ne-GTMetrix noma i-Pingdom ukuze uhlaziye izihloko.
Amamojula nezandiso: ukwandisa amathuba e-Nginx
Ukusebenza kwe-Nginx kuthuthukiswa ngamamojula engeziwe akuvumela ukuthi:
- Ukuqinisekisa, ukucindezela nokuvikela ukuhlasela.
- Ukusakaza amafayela namavidiyo.
- Ukuhlanganiswa nezinhlelo ezithuthukisiwe zokuqapha nokugawulwa kwemithi.
- Ubuchwepheshe obusha obufana ne-HTTP/2, i-WebSockets, nezimiso zesimanje zokuminyanisa.
I-Nginx Configuration and Management
Isekelwe ekuhleleni amafayela ombhalo ocacile (njenge-nginx.conf), nge-syntax ecacile neyama-hierarchy. Nakuba idinga ulwazi oluthile, le ndlela ikhuthaza ukuzenzekela kanye nokulawulwa kwenguqulo.
Okunye okucatshangelwayo:
- Izibuyekezo zokucushwa ngokuvamile zidinga ukulayishwa kabusha noma ukuqalisa kabusha, ngaphandle kokuphazamiseka uma kwenziwa ngendlela efanele.
- Amadokhumenti nomphakathi kubanzi, okwenza kube lula ukuxazulula imibuzo.
- Ihambisana namathuluzi afana ne-Ansible, i-Docker ne-Kubernetes.
Amasistimu nokuhambisana kokufaka i-Nginx
Isebenza kahle kakhulu ezindaweni ze-Unix noma ze-Linux. Ingafakwa kumaseva abonakalayo, izitsha, noma efwini, futhi abahlinzeki abaningi bokusingatha bavumela ukuthunyelwa okulula.
Isetshenziswa nini i-Nginx? Ingabe kuhlale kuyinketho engcono kakhulu?
I-Nginx iphumelela kakhulu ezimweni lapho ukusebenza kahle kanye nokuphathwa kwethrafikhi ephezulu kubaluleke kakhulu. Kodwa-ke, uma kudingeka ukuhlanganiswa okusheshayo nezinhlelo zokusebenza ezincike ku-.htaccess noma ukuphathwa okulula ezindaweni zendabuko, i-Apache ingaba inketho efanelekile kakhulu.
Amaphrojekthi amaningi ahlanganisa womabili, esebenzisa i-Nginx njengommeleli ohlanekezelwe kanye ne-Apache yezinhlelo zokusebenza eziguqukayo, esebenzisa amandla ayo ngayinye.
Ngenxa yezakhiwo zayo eziqhutshwa kahle eziqhutshwa umcimbi, ukusetshenziswa kwamandla okuphansi, nokuvumelana nezimo, i-Nginx isalokhu iyinketho ekhethwayo yezindawo ezisebenza kahle kakhulu nezindawo zamabhizinisi. Ukwenza kahle ukucushwa kwayo nokuqonda izinzuzo zayo kungenza umehluko phakathi kwewebhusayithi enensayo, enezinkinga kanye nenkundla esheshayo, eqinile elungele ukukhula okungenamkhawulo.