Yadda ake Enable HTTP/2 a Apache akan Ubuntu


Tun kafuwar Gidan yanar gizo na Duniya (www), yarjejeniyar HTTP ta samo asali tsawon shekaru don isar da amintaccen abu mai sauri da sauri akan intanet.

Siffar da aka fi amfani da ita ita ce HTTP 1.1 kuma yayin da take shirya tare da haɓaka fasali da haɓaka aiki don magance ƙarancin sifofin da suka gabata, ya faɗi ƙasa da wasu ƙalilan fasalulluka waɗanda HTTP/2 suka magance su.

Yarjejeniyar HTTP/1.1 tana cike da nakasassu masu zuwa waɗanda suka sa ya zama mara kyau sosai musamman yayin tafiyar da sabar yanar gizo masu zirga-zirga:

  1. Jinkiri kan loda shafukan yanar gizo saboda dogon taken HTTP.
  2. HTTP/1.1 zai iya aika buƙata ɗaya kawai don kowane fayil ta hanyar haɗin TCP.
  3. Ganin cewa HTTP/1.1 yana aiwatar da buƙata ɗaya don kowane haɗin TCP, ana tilasta masu bincike don aika ambaliyar haɗin TCP masu layi ɗaya don aiwatar da buƙatun a lokaci ɗaya. Wannan yana haifar da cunkoson TCP da ƙarshe ɓarnatarwar bandwidth da lalacewar hanyar sadarwa.

Matsalolin da muka ambata a sama sau da yawa suna haifar da lalacewa na aiki da tsada a cikin amfani da bandwidth. HTTP/2 ya shigo hoton don magance waɗannan matsalolin kuma yanzu shine makoma ga ladabi na HTTP.

Yana ba da fa'idodi masu zuwa:

  1. Rubutun rubutun kai tsaye wanda ke rage buƙatun abokin ciniki kuma hakan yana rage yawan amfani da bandwidth. Sakamakon sakamako shine saurin saurin shafi na shafi.
  2. liara yawaitar buƙatu da yawa akan haɗin TCP ɗaya. Duk uwar garken da abokin harka suna iya rarraba buƙatar HTTP zuwa cikin maɓallai da yawa kuma sake haɗa su a ɗaya ƙarshen.
  3. Saurin wasan kwaikwayon gidan yanar gizo wanda hakan ke haifar da kyakkyawan darajar SEO.
  4. Ingantaccen tsaro tunda yawancin masu bincike na yau da kullun suna ɗaukar HTTP/2 akan HTTPS.
  5. HTTP/2 ana ɗauka mafi ƙawancen tafi-da-gidanka ta hanyar godiya ga fasalin matattarar taken.

Wannan ya ce, za mu kunna HTTP/2 akan Apache akan Ubuntu 20.04 LTS da Ubuntu 18.04 LTS.

Kafin farawa, tabbatar cewa ka kunna HTTPS a kan Apache webserver kafin kunna HTTP/2. Wannan saboda duk masu bincike na yanar gizo suna tallafawa HTTP/2 akan HTTPS. Ina da sunan yankin da aka nuna misali a kan Ubuntu 20.04 wanda shine takardar shaidar Bari ta Encrypt.

Hakanan, an ba da shawarar kuna da Apache 2.4.26 kuma daga baya nau'ikan don sabobin samar da niyyar yin matsawa zuwa HTTP/2.

Don bincika sigar Apache da kuke gudana, aiwatar da umurnin:

$ apache2 -v

Daga cikin kayan sarrafawa, zaka ga muna amfani da sabon salo, wanda shine Apache 2.4.41 a lokacin rubuta wannan labarin.

Enable HTTP/2 akan Apache Virtual Host

Don farawa, da farko tabbatar cewa webserver yana aiki HTTP/1.1. Kuna iya yin wannan a kan hanyar bincike ta buɗe ɓangaren kayan aikin masu haɓaka akan Google chrome ta amfani da haɗin Ctrl + SHIFT + I . Danna maballin 'Hanyar sadarwa' kuma gano shafin 'Protocol'.

Na gaba, kunna tsarin HTTP/2 akan Ubuntu ta hanyar bin umarnin nan mai zuwa.

$ sudo a2enmod http2

Na gaba, gano wuri da shirya fayil ɗin mai karɓar baƙon SSL, idan kun kunna HTTPS ta amfani da Let Encrypt, ana ƙirƙirar sabon fayil tare da le-ssl.conf kari.

$ sudo vim /etc/apache2/sites-enabled/your-domain-name-le-ssl.conf

Saka umarnin a kasa bayan alamar tag.

Protocols h2 http/1.1

Don adana canje-canje, sake kunnawa Apache webserver.

$ sudo systemctl restart apache2

Don bincika idan an kunna HTTP/2, ɗebo taken HTTP ta amfani da umarnin curl mai zuwa kamar yadda aka nuna.

$ curl -I --http2 -s https://domain.com/ | grep HTTP

Ya kamata a nuna fitarwa.

HTTP/2 200

A kan mai binciken, sake shigar da rukunin yanar gizonku. Daga nan sai ka koma kan kayan aikin mai samarwa sannan ka tabbatar da HTTP/2 wanda aka nuna shi ta hanyar h2 akan layin 'Protocol'.

Lokacin Amfani da mod_php Module tare da Apache

Idan kuna aiki Apache tare da mod_php module, kuna buƙatar canzawa zuwa PHP-FPM. Wannan saboda mod_php module yana amfani da module MPM prefork wanda HTTP/2 baya tallafawa. Kuna buƙatar cire MPM ɗin prefork ɗin kuma ku canza zuwa ƙirar mpm_event wanda HTTP/2 zai tallafawa.

Idan kuna amfani da tsarin modphph na PHP 7.4, misali, musaki shi kamar yadda aka nuna:

$ sudo a2dismod php7.4 

Bayan haka, kashe prefork MPM module.

$ sudo a2dismod mpm_prefork

Bayan katse abubuwan, gaba, kunna MPM mai faruwa, Fast_CGI, da setenvif kamar yadda aka nuna.

$ sudo a2enmod mpm_event proxy_fcgi setenvif

Sanya PHP-FPM akan Ubuntu

Gaba, girka kuma fara PHP-FPM kamar yadda aka nuna.

$ sudo apt install php7.4-fpm 
$ sudo systemctl start php7.4-fpm

Sannan kunna PHP-FPM don farawa a lokacin taya.

$ sudo systemctl enable php7.4-fpm

Na gaba, kunna PHP-FPM azaman mai kula da PHP na Apache kuma sake kunnawa webserver na Apache don canje-canje da za'a aiwatar.

$ sudo a2enconf php7.4-fpm

Enable HTTP/2 Taimako a Apache Ubuntu

Sannan kunna tsarin HTTP/2 kamar da.

$ sudo a2enmod http2

Sake kunna Apache don aiki tare da dukkan canje-canje.

$ sudo systemctl restart apache2

A ƙarshe, zaku iya gwada idan sabarku tana amfani da yarjejeniyar HTTP/2 ta amfani da umarnin curl kamar yadda aka nuna.

$ curl -I --http2 -s https://domain.com/ | grep HTTP

Hakanan zaka iya zaɓar amfani da kayan aikin haɓaka a kan burauzar Google Chrome don tabbatarwa kamar yadda aka rubuta a baya. Dole ne mu kawo ƙarshen wannan jagorar, Muna fatan kun sami bayanan masu mahimmanci kuma zaku iya taimakawa HTTP/2 akan Apache cikin sauƙi.