Otu esi eme HTTP/2 na Apache na Ubuntu


Kemgbe mmalite nke World Wide Web (www), protocol HTTP amalitela kemgbe ọtụtụ afọ iji wepụta ọdịnaya dijitalụ echekwara na ngwa ngwa na ịntanetị.

Ụdị nke a na-ejikarị eme ihe bụ HTTP 1.1 na ebe ọ na-ejikọta ya na nkwalite atụmatụ yana njikarịcha arụmọrụ iji lebara emezighị emezi nke nsụgharị ndị mbụ, ọ dabara na njirimara ole na ole ndị ọzọ dị mkpa nke HTTP/2 kwuru.

Usoro HTTP/1.1 juputara na mmejọ ndị a na-eme ka ọ ghara ịdị mma karịsịa mgbe ọ na-agba ọsọ sava weebụ dị elu:

  1. Igbu oge na-ebunye ibe weebụ n'ihi ogologo isi HTTP.
  2. HTTP/1.1 nwere ike izipu naanị otu arịrịọ maka faịlụ ọ bụla n'otu njikọ TCP.
  3. Nyere na HTTP/1.1 na-ahazi otu arịrịọ maka njikọ TCP ọ bụla, a na-amanye ihe nchọgharị izipu iju mmiri nke njikọ TCP yiri ka ha hazie arịrịọ ahụ n'otu oge. Nke a na-eduga na mkpọchi TCP na n'ikpeazụ bandwidth mbibi na netwọk.

Nsogbu ndị a kpọtụrụ aha n'elu na-ebutekarị mmebi arụmọrụ yana ọnụ ahịa dị elu na iji bandwit. HTTP/2 batara na foto a iji dozie nsogbu ndị a ma ọ bụ ọdịnihu maka usoro HTTP.

Ọ na-enye uru ndị a:

  1. Mkpakọ nkụnye eji isi mee nke na-ebelata arịrịọ ndị ahịa wee si otú a na-ebelata oriri bandwidth. Nsonaazụ nsonaazụ bụ ngwa ngwa ibu nke ibe.
  2. Na-atụgharị ọtụtụ arịrịọ n'otu njikọ TCP. Ma ihe nkesa na onye ahịa nwere ike imebi arịrịọ HTTP n'ime ọtụtụ okpokolo agba wee chịkọta ha na nsọtụ ọzọ.
  3. Ọrụ webụ ọsọ ọsọ nke na-eduga n'ọkwa SEO ka mma.
  4. Nchekwa emelitere ebe ọ bụ na ọtụtụ ihe nchọgharị na-ebu HTTP/2 karịa HTTPS.
  5. HTTP/2 ka a na-ewere dị ka enyi na enyi mkpanaka maka njirimara mkpakọ nkụnye eji isi mee.

Nke ahụ kwuru, anyị ga-eme ka HTTP/2 na Apache na Ubuntu 20.04 LTS na Ubuntu 18.04 LTS.

Tupu ịmalite, hụ na ị na-enyere HTTPS aka na sava weebụ Apache tupu ị nwee ike HTTP/2. Nke a bụ n'ihi na ihe nchọgharị weebụ niile bụ isi na-akwado HTTP/2 karịa HTTPS. Enwere m aha ngalaba na-arụtụ aka na ihe atụ na Ubuntu 20.04 nke bụ ka anyị encrypt akwụkwọ.

Ọzọkwa, a na-atụ aro ka ị nweta Apache 2.4.26 na nsụgharị ndị ọzọ maka sava mmepụta na-achọ ime mgbanwe na HTTP/2.

Iji lelee ụdị Apache ị na-agba, mebie iwu:

$ apache2 -v

Site na mmepụta, ị nwere ike ịhụ na anyị na-eji ụdị kachasị ọhụrụ, nke bụ Apache 2.4.41 n'oge ịdepụta akụkọ a.

Kwado HTTP/2 na onye nnabata Apache mebere

Iji malite, buru ụzọ gosi na sava weebụ na-agba HTTP/1.1. Ị nwere ike ime nke a na ihe nchọgharị site na imepe ngalaba ngwaọrụ mmepụta na Google chrome site na iji Ctrl + SHIFT + I ngwakọta. Pịa taabụ 'Network' wee chọta kọlụm 'Protocol'.

Na-esote, mee ka modul HTTP/2 dị na Ubuntu site na iji iwu na-esonụ.

$ sudo a2enmod http2

Na-esote, chọta ma dezie faịlụ nnabata SSL gị, ọ bụrụ na i meela HTTPS iji Let's Encrypt, a na-eji suffix le-ssl.conf mepụta faịlụ ọhụrụ.

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

Tinye ntuziaka n'okpuru mgbe mkpado gasịrị.

Protocols h2 http/1.1

Ka ịchekwaa mgbanwe ndị a, malitegharịa sava weebụ Apache.

$ sudo systemctl restart apache2

Iji lelee ma agbanyere HTTP/2, weta nkụnye eji isi mee HTTP site na iji iwu curl na-esote dị ka ngosi.

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

Ị ga-enweta ihe egosipụtara.

HTTP/2 200

Na ihe nchọgharị, bugharịa saịtị gị. Gaa laghachi na ngwaọrụ nrụpụta wee gosi HTTP/2 nke akara h2 na kọlụm 'Protocol' gosipụtara.

Mgbe iji mod_php Module na Apache

Ọ bụrụ na ị na-agba Apache n'akụkụ mod_php modul, ịkwesịrị ịgbanwe gaa na PHP-FPM. Nke a bụ n'ihi na mod_php modul na-eji modul MPM prefork nke HTTP/2 na-akwadoghị. Ịkwesịrị iwepụ MPM prefork wee gbanwee gaa na mpm_event modul nke HTTP/2 ga-akwado.

Ọ bụrụ na ị na-eji PHP 7.4 mod_php modul, dịka ọmụmaatụ, gbanyụọ ya dịka egosiri:

$ sudo a2dismod php7.4 

Emechaa, gbanyụọ modul MPM prefork.

$ sudo a2dismod mpm_prefork

Mgbe ị kwụsịrị modul, na-esote, mee ka mmemme MPM, Fast_CGI, na setenvif modul dị ka egosiri.

$ sudo a2enmod mpm_event proxy_fcgi setenvif

Wụnye PHP-FPM na Ubuntu

Na-esote, wụnye wee malite PHP-FPM dị ka egosiri.

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

Mgbe ahụ mee ka PHP-FPM malite n'oge buut.

$ sudo systemctl enable php7.4-fpm

Na-esote, mee ka PHP-FPM dị ka onye na-ahụ maka PHP Apache wee malitegharịa sava weebụ Apache maka mgbanwe ndị a ga-eme.

$ sudo a2enconf php7.4-fpm

Kwado nkwado HTTP/2 na Apache Ubuntu

Wee mee ka modul HTTP/2 dị ka ọ dị na mbụ.

$ sudo a2enmod http2

Malitegharịa Apache ka imekọrịta mgbanwe niile.

$ sudo systemctl restart apache2

N'ikpeazụ, ị nwere ike ịnwale ma ihe nkesa gị na-eji protocol HTTP/2 na-eji iwu curl dị ka egosiri.

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

Ị nwekwara ike ịhọrọ iji ngwaọrụ mmepụta na ihe nchọgharị Google Chrome iji nyochaa dị ka edere na mbụ. Anyị nwere na njedebe nke ntuziaka a, Anyị nwere olile anya na ị chọtara ozi ahụ bara uru yana na ị nwere ike mee ka HTTP/2 nwee ntụsara ahụ na Apache n'ụzọ dị mfe.