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:
- Igbu oge na-ebunye ibe weebụ n'ihi ogologo isi HTTP.
- HTTP/1.1 nwere ike izipu naanị otu arịrịọ maka faịlụ ọ bụla n'otu njikọ TCP. 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:
- 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.
- 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ọ.
- Ọrụ webụ ọsọ ọsọ nke na-eduga n'ọkwa SEO ka mma.
- Nchekwa emelitere ebe ọ bụ na ọtụtụ ihe nchọgharị na-ebu HTTP/2 karịa HTTPS.
- 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.