Kung nais mong malaman kung ano ang Nginx kung gayon ang maikli at mabilis na artikulong ito ay tiyak na malilinaw ang iyong mga pagdududa sa paksa. Kaya ang Nginx ay isang open source software na eksklusibo para sa mga internet server, na inilabas lalo na para sa pag-browse sa HTTP.
Sa ngayon, gumagana rin ito bilang HTTP load balancer, reverse proxy, at email proxy din para sa mga protocol ng POP 3, IMAP at SMTP.
Ang paglunsad ng pareho ay noong Oktubre 2004, at ang lumikha ng software na ito ay si Igor Sysoev. Sinimulan niya ang paglikha ng proyekto noong 2002 upang subukang lutasin ang isang problema na kilala bilang C10K. Kung saan ang iyong pinakamalaki at pangunahing hamon ay ang pamamahala ng 10,000 sabay-sabay na koneksyon (sa parehong oras).
Alamin na sa kasalukuyan ay may higit pang mga koneksyon, at na pinamamahalaan ito ng isang server nang maayos. At tiyak para sa simpleng dahilan na ito, binibigyan nito ang mga user nito ng mahusay na asynchronous na arkitektura, na ginagawa itong isa sa mga pinaka maaasahang uri ng mga server ngayon. Parehong sa mga tuntunin ng sukat, pagganap at bilis.
Dahil madaling suportahan ng Nginx ang ilang napakabilis na koneksyon, ang karamihan sa mga website na may mataas na trapiko tulad ng Netflix, Google, Adobe, WordPress at iba pa ay gumagamit na nito.
Paano ito gumagana?
Ngayong alam mo na kung ano ang Nginx, hindi namin mabibigo na banggitin kung paano ito gumagana, ngunit bago tayo pumasok sa paksang iyon, kailangan mo munang malaman kung paano gumagana ang isang internet server sa pagsasanay.
Ang server ay gumagana tulad nito, sa tuwing may nagba-browse sa web, maging sa mga social network, o nagsasaliksik sa mga search engine, at kapag nahanap niya ang gusto niya at nagpasyang mag-click sa link. Nagtatapos siya sa paggawa ng isang kahilingan.
Kaya kapag humihiling na mag-load ng isang pahina sa internet, makikipag-ugnayan ang browser sa server ng website. Pagkatapos ay hahanapin ng server ang mga file na hiniling at ihahatid lamang ang mga ito sa browser.
Kung sakaling hindi mo alam, ang mga tradisyunal na web server ay lumikha ng isang indibidwal na Thread para sa bawat isa sa mga kahilingan, ngunit alamin na ang Nginx ay hindi gumagana sa ganoong paraan.
Tulad ng nabanggit namin kanina, mayroon itong mahusay na pagganap, at isa ring asynchronous, arkitektura na nakatuon sa kaganapan. Na nangangahulugan na ang mga mukhang thread ay pinamamahalaan ng isang proseso na tinatawag na manggagawa. Na kung saan ang bawat proseso ng manggagawa ay may mas maliliit na yunit, na kilala bilang mga koneksyon ng manggagawa.
Kaya ang buong unit na ito ay ganap na may pananagutan sa paghawak ng lahat ng mga kahilingan sa theadder, dahil ang mga koneksyon ng manggagawa ay tumatanggap lamang ng mga kahilingan sa isang proseso ng manggagawa, na pagkatapos ay ipinadala sa master process. Sa wakas, ipinapakita ng master process ang resulta ng kahilingang ginawa.
Sa isang paraan na ito ay maaaring mukhang simple, ngunit alam na ang isang koneksyon ng manggagawa ay may kakayahang humawak ng hanggang 1,024 na kahilingan. At tiyak para sa kadahilanang ito, ang Nginx server ay ganap na may kakayahang pangasiwaan ang milyun-milyong kahilingan nang walang kaunting problema. Isa rin itong malaking dahilan para sa mga website na may maraming trapiko upang gamitin ang teknolohiyang ito.
Apache kumpara sa Nginx:
Sa halos lahat ng web server, ang Apache ang pinakasikat sa lahat, at ito rin ang pangunahing kalaban ng Nginx server. Ang Apache ay umiral noong 90s at mayroon ding malaking bilang ng mga user sa buong mundo.
Ngunit kung gagawa ka ng isang online na proyekto, at nagdududa ka pa rin tungkol sa kung aling uri at ang pinakamahusay na server na gagamitin sa iyong proyekto, tingnan ang aming mabilis na paghahambing sa pagitan ng dalawa, sa ibaba:
Pagganap at pagganap:
Ang parehong 2 server ay may parehong bilis, ngunit ang Nginx ay madaling magpatakbo ng 1,000 koneksyon ng static na nilalaman sa parehong oras, ito ay 2x na mas mabilis kaysa sa Apache. At gumagamit pa rin ng mas kaunting memorya. Ang Nginx server sa kasong ito ay tiyak na ang pinakamahusay na pagpipilian.
Pagkakatugma sa OS:
Hindi nangangahulugang ang pagiging tugma ay isa sa mga detalye na dapat isaalang-alang kapag pumipili ng isang server. Sa kasong ito, parehong maaaring gumana sa maraming mga operating system, na kung saan ay sumusuporta sa UNIX system.
Ngunit sa kasamaang palad sa bagay na ito ang pagganap at pagganap ng server ng uri ng Nginx sa Windows ay hindi kasing ganda ng sa iba pang mga platform.
Suporta:
Hindi mahalaga kung ikaw ay isang baguhan o isang advanced na gumagamit, lahat nang walang pagbubukod ay nangangailangan ng isang lugar o komunidad sa internet upang tumulong sa isa't isa kapag lumitaw ang mga hindi inaasahang problema.
Parehong nag-aalok ng suporta sa pamamagitan ng email, at mayroon ding forum sa Stack Overflow. Sa kasamaang palad, ang Apache ay nag-iiwan ng maraming bagay na naisin sa mga tuntunin ng suporta na nagmumula sa mismong kumpanya, na kung saan ay ang Apache Foundation.
Pagtatapos:
Tulad ng mababasa mo, ang Ngnix ay isang internet server na gumagana din bilang isang reverse proxy, load balancer at bilang isang mail proxy. Ang istraktura ng lahat ng kanilang software ay lahat asynchronous, at lahat ng kaganapan ay hinihimok. Na kung saan ay nagbibigay-daan sa isang malaking bilang ng mga sabay-sabay na kahilingan.
Talagang hindi namin mabibigo na banggitin na ang server ng uri ng Nginx ay lubos na nasusukat, na nangangahulugan na ang iyong trabaho ay lumalaki kasabay ng pagtaas ng dami ng trapiko.
Parehong Apache at Ngnix ay tiyak na ang pinakamahusay na mga web server ngayon, ngayon ang natitira ay para sa iyo na pumili kung alin ang gusto mong gamitin sa iyong mga online na proyekto. Tagumpay sa iyong pinili?