Me yasa na sami Nginx Fiye da Apache


Dangane da sabon binciken sabar gidan yanar gizo ta Netcraft, wanda aka gudanar a ƙarshen 2017, (daidai a cikin Nuwamba), Apache da Nginx sune manyan sabar gidan yanar gizo da aka fi amfani da su akan Intanet.

Apache kyauta ce, uwar garken HTTP mai buɗe ido don tsarin aiki kamar Unix da Windows. An ƙirƙira shi don zama amintaccen sabar mai inganci, mai inganci wanda ke ba da sabis na HTTP a daidaita tare da madaidaitan HTTP.

Tun lokacin da aka ƙaddamar da shi, Apache ya kasance mafi mashahuri uwar garken yanar gizo akan Intanet tun 1996. Yana da ƙayyadaddun ma'auni don sabar gidan yanar gizo a cikin Linux da buɗaɗɗen yanayin muhalli. Sabbin masu amfani da Linux galibi suna samun sauƙin saitawa da amfani.

Nginx (lafazin 'Engine-x') kyauta ne, tushen budewa, sabar HTTP mai girma, wakili mai juyawa, da uwar garken wakili na IMAP/POP3. Kamar Apache, yana kuma aiki akan tsarin aiki kamar Unix da Windows.

Sanannen da yake da babban aiki, kwanciyar hankali, sauƙi mai sauƙi, da ƙarancin amfani da albarkatu, tsawon shekaru ya zama sananne sosai kuma amfani da shi akan Intanet yana kan gaba ga mafi girma. Yanzu shine uwar garken gidan yanar gizo na zaɓi tsakanin gogaggun masu gudanar da tsarin ko masanan gidan yanar gizo na manyan shafuka.

Wasu daga cikin rukunan rukunan da ke aiki ta hanyar:

  • Apache sune: PayPal, BBC.com, BBC.co.uk, SSLLABS.com, Apple.com da ƙari mai yawa.
  • Nginx sune: Netflix, Udemy.com, Hulu, Pinterest, CloudFlare, WordPress.com, GitHub, SoundCloud da sauran su.

Akwai albarkatu da yawa da aka riga aka buga akan yanar gizo game da kwatancen tsakanin Apache da Nginx (da gaske ina nufin labarin 'Apache Vs Nginx'), da yawa daga cikinsu sun bayyana dalla-dalla, manyan fasalulluka da ayyukansu a ƙarƙashin yanayi daban-daban gami da matakan aiki a cikin ma'auni na lab. . Don haka ba za a yi magana a nan ba.

Zan kawai raba gwaninta da tunani na game da dukan muhawarar, bayan gwada Apache da Nginx, duka a cikin yanayin samarwa bisa ga buƙatu don karɓar aikace-aikacen yanar gizo na zamani, a cikin sashe na gaba.

Dalilan da yasa na sami Nginx Fiye da Apache

Wadannan dalilai ne da yasa na fifita sabar gidan yanar gizo ta Nginx akan Apache don isar da abun ciki na yanar gizo na zamani:

Nginx yana ɗaya daga cikin sabar gidan yanar gizo mai sauƙi a waje. Yana da ƙananan sawun ƙafa akan tsarin idan aka kwatanta da Apache wanda ke aiwatar da ɗimbin ayyuka masu mahimmanci don gudanar da aikace-aikacen.

Saboda Nginx yana haɗa ɗimbin mahimman fasalulluka, ya dogara da sabar gidan yanar gizo na ɓangare na uku na sama kamar su Apache backend, FastCGI, Memcached, SCGI, da uWSGI sabobin ko sabar aikace-aikace, watau takamaiman sabar yare kamar Node.js, Tomcat. , da dai sauransu.

Don haka amfanin ƙwaƙwalwar ajiyar sa ya fi dacewa da ƙayyadaddun kayan aiki, fiye da Apache.

Sabanin tsarin gine-ginen da aka zana-ko-ko tsarin-tsari (tsari-kowace-haɗin ko ƙirar-zare-kowace haɗin haɗin gwiwa), Nginx yana amfani da ma'auni, ƙirar abin da ke motsawa (asynchronous). Yana ɗaukar samfurin tsari abin dogaro wanda aka keɓance da albarkatun kayan masarufi da ake da su.

Yana da babban tsari (wanda ke aiwatar da ayyuka masu gata kamar daidaitawar karantawa da ɗaure zuwa tashar jiragen ruwa) kuma wanda ke haifar da matakai da yawa na ma'aikata da masu taimako.

Ayyukan ma'aikaci kowanne na iya sarrafa dubban hanyoyin haɗin HTTP lokaci guda, karantawa da rubuta abun ciki zuwa faifai, da sadarwa tare da sabobin sama. Hanyoyin taimako (mai sarrafa cache da cache loader) na iya sarrafa ayyukan caching abun ciki akan faifai.

Wannan yana sa ayyukansa su daidaita, kuma yana haifar da babban aiki. Wannan tsarin ƙirar yana ƙara yin sauri, dacewa don aikace-aikacen zamani. Bugu da kari, ana iya amfani da na'urori na ɓangare na uku don tsawaita ayyukan ɗan ƙasa a cikin Nginx.

Nginx yana da tsarin fayil ɗin sanyi mai sauƙi, yana sa ya zama mai sauƙin daidaitawa. Ya ƙunshi na'urori waɗanda ke sarrafa su ta hanyar umarnin da aka ƙayyade a cikin fayil ɗin sanyi. Bugu da ƙari, an raba umarni zuwa umarnin toshe da umarni masu sauƙi.

An bayyana umarnin toshe ta hanyar takalmin gyaran kafa ({ da }). Idan umarnin toshe zai iya samun wasu umarni a cikin takalmin gyaran kafa, ana kiran shi mahallin kamar abubuwan da suka faru, http, uwar garken, da wuri.

http {
	server {
		
	}
}

Umarni mai sauƙi ya ƙunshi suna da sigogi da aka raba ta sarari kuma ya ƙare tare da ƙaramin yanki (;) .

http {
	server {
		location / {
				
				## this is simple directive called root
			   	root  /var/www/hmtl/example.com/;

		}
		
	}
}

Kuna iya haɗa fayilolin sanyi na al'ada ta amfani da haɗar umarni, misali.

http {
	server {

	}
	## examples of including additional config files
	include  /path/to/config/file/*.conf;
	include  /path/to/config/file/ssl.conf;
}

Misali mai amfani a gare ni shine yadda na sami sauƙin daidaita Nginx don gudanar da rukunin yanar gizo da yawa tare da nau'ikan PHP daban-daban, wanda ɗan ƙalubale ne tare da Apache.

Ɗaya daga cikin amfanin da aka saba amfani da shi na Nginx yana saita shi azaman uwar garken wakili, a wannan yanayin yana karɓar buƙatun HTTP daga abokan ciniki kuma yana tura su zuwa ga sabar masu wakilci ko na sama waɗanda aka ambata a sama, akan ka'idoji daban-daban. Hakanan zaka iya canza masu buƙatun buƙatun abokin ciniki waɗanda aka aika zuwa uwar garken da aka keɓe, da kuma saita buffer na martani da ke fitowa daga sabar masu wakilci.

Sannan tana karɓar amsoshi daga ƙwararrun sabar kuma ta mika su ga abokan ciniki. Yana da sauƙi don daidaitawa azaman uwar garken wakili idan aka kwatanta da Apache tun da yawancin abubuwan da ake buƙata ana kunna su ta tsohuwa.

Abubuwan da ke tsaye ko fayiloli yawanci fayilolin da aka adana akan faifai akan kwamfutar uwar garken, misali fayilolin CSS , Fayilolin JavaScript ko hotuna. Bari muyi la'akari da yanayin inda kuke amfani da Nginx azaman gaba ga Nodejs (sabar aikace-aikacen).

Kodayake uwar garken Nodejs (musamman na Node frameworks) sun gina cikin fasalulluka don sarrafa fayil a tsaye, ba sa buƙatar yin wani aiki mai zurfi don isar da abun ciki mara ƙarfi, don haka yana da fa'ida a zahiri don saita sabar gidan yanar gizo don ba da abun ciki na tsaye kai tsaye zuwa abokan ciniki.

Nginx na iya yin ingantacciyar aiki na sarrafa fayiloli masu tsattsauran ra'ayi daga takamaiman jagorar, kuma yana iya hana buƙatun kadarorin kadarorin da ke shaƙa hanyoyin sabar. Wannan yana haɓaka aikin sabobin baya sosai.

Don gane babban aiki da lokaci don aikace-aikacen gidan yanar gizo na zamani na iya yin kira don gudanar da misalan aikace-aikacen da yawa akan sabar HTTP guda ɗaya ko rarraba. Wannan yana iya zama dole don saita daidaita nauyi don rarraba kaya tsakanin sabar HTTP ɗin ku.

A yau, daidaita nauyi ya zama hanyar da aka fi amfani da ita don inganta tsarin amfani da albarkatu na tsarin aiki, haɓaka sassauƙa, rage jinkiri, haɓaka kayan aiki, samun sakewa, da kafa saiti masu jure rashin kuskure - a cikin yanayin aikace-aikacen da yawa.

Nginx yana amfani da hanyoyin daidaita kaya masu zuwa:

  • round-robin (hanyar tsohuwa) - ana rarraba buƙatun zuwa sabobin da ke sama a cikin salon zagaye-zagaye (don jerin jerin sabobin a cikin tafkin sama).
  • mafi ƙarancin haɗin kai - anan buƙatu ta gaba tana da alaƙa ga uwar garken tare da mafi ƙarancin adadin haɗin kai.
  • ip-hash - anan ana amfani da aikin hash don tantance menene uwar garken ya kamata a zaɓa don buƙatu ta gaba (dangane da adireshin IP na abokin ciniki).
  • Hash na gabaɗaya - ƙarƙashin wannan hanyar, mai sarrafa tsarin yana ƙayyade zanta (ko maɓalli) tare da rubutun da aka bayar, masu canji na buƙata ko lokacin aiki, ko haɗin su. Misali, maɓallin yana iya zama tushen IP da tashar jiragen ruwa, ko URI. Daga nan Nginx ya rarraba nauyin tsakanin sabobin da ke sama ta hanyar samar da zanta don buƙatun yanzu da sanya shi a kan sabar da ke sama.
  • Ƙarancin lokaci (Nginx Plus) - yana ba da buƙatu na gaba zuwa uwar garken sama tare da mafi ƙarancin adadin haɗin kai na yanzu amma yana fifita sabar tare da mafi ƙarancin lokacin amsawa.

Bugu da ƙari kuma, Nginx yana da ƙima sosai kuma aikace-aikacen yanar gizo na zamani musamman aikace-aikacen kasuwanci na buƙatar fasaha wanda ke ba da babban aiki da haɓaka.

Ɗaya daga cikin kamfani da ke amfana daga abubuwan ban mamaki na Nginx shine CloudFlare, ya yi nasarar ƙaddamar da aikace-aikacen yanar gizon sa don kula da fiye da 15 biliyan ra'ayoyin shafi na kowane wata tare da ingantacciyar kayan aiki, a cewar Matthew Prince, co-kafa kuma Shugaba na CloudFare.

Don ƙarin cikakkun bayanai, duba wannan labarin akan Nginx blog: NGINX vs. Apache: Ra'ayinmu na Tambayar Shekaru Goma.

Dukansu Apache da Nginx ba za su iya maye gurbin juna ba, suna da ƙarfi da raunin su. Koyaya, Nginx yana ba da fasaha mai ƙarfi, sassauƙa, daidaitacce kuma amintaccen fasaha don dogaro da ingantaccen ƙarfin ƙarfafa gidajen yanar gizo na zamani da aikace-aikacen yanar gizo. Menene dauka? Bari mu sani ta hanyar amsa tambayoyin da ke ƙasa.