Kā iespējot HTTP/2 Apache Ubuntu
Kopš globālā tīmekļa (www) darbības sākuma HTTP protokols gadu gaitā ir attīstījies, lai nodrošinātu drošu un ātru digitālo saturu internetā.
Visplašāk izmantotā versija ir HTTP 1.1, un, lai arī tā piedāvā funkciju uzlabojumus un veiktspējas optimizāciju, lai novērstu iepriekšējo versiju trūkumus, tā neatbilst dažām citām būtiskām funkcijām, kuras ir novērsusi HTTP/2.
HTTP/1.1 protokols ir pilns ar šādām nepilnībām, kas padara to mazāk ideālu, it īpaši, ja darbojas augstas plūsmas tīmekļa serveri:
- Kavējas tīmekļa lapu ielāde, pateicoties garām HTTP galvenēm.
- HTTP/1.1 spēj nosūtīt tikai vienu pieprasījumu par katru failu katram TCP savienojumam.
- Ņemot vērā, ka HTTP/1.1 apstrādā vienu pieprasījumu katram TCP savienojumam, pārlūkprogrammas ir spiestas nosūtīt paralēlu TCP savienojumu straumi, lai vienlaicīgi apstrādātu pieprasījumus. Tas noved pie TCP pārslodzes un galu galā joslas platuma izšķērdēšanas un tīkla degradācijas.
Iepriekš minētās problēmas bieži noveda pie veiktspējas pasliktināšanās un lielām pieskaitāmajām izmaksām joslas platuma lietošanā. HTTP/2 parādījās attēlā, lai risinātu šīs problēmas, un tagad tas ir HTTP protokolu nākotne.
Tas piedāvā šādas priekšrocības:
- Galvenes saspiešana, kas samazina klienta pieprasījumus un tādējādi samazina joslas platuma patēriņu. Rezultāts ir ātrs lapas ielādes ātrums.
- Vairāku pieprasījumu multipleksēšana vienā TCP savienojumā. Gan serveris, gan klients var sadalīt HTTP pieprasījumu vairākos kadros un pārgrupēt tos otrā galā.
- Ātrākas tīmekļa veiktspējas, kas līdz ar to uzlabo SEO rangu.
- Uzlabota drošība, jo lielākā daļa parasto pārlūku ielādē HTTP/2, izmantojot HTTPS.
- Pateicoties galvenes saspiešanas funkcijai, HTTP/2 tiek uzskatīts par piemērotāku mobilajām ierīcēm.
Tas nozīmē, ka mēs iespējosim HTTP/2 Apache Ubuntu 20.04 LTS un Ubuntu 18.04 LTS.
Pirms sākat, pirms HTTP/2 iespējošanas pārliecinieties, vai esat iespējojis HTTPS Apache tīmekļa serverī. Tas ir tāpēc, ka visas galvenās tīmekļa pārlūkprogrammas atbalsta HTTP/2, izmantojot HTTPS. Man ir domēna vārds, kas norāda uz instanci Ubuntu 20.04, kas ir Let’s Encrypt sertifikāts.
Ieteicams arī izmantot Apache 2.4.26 un jaunākas versijas ražošanas serveriem, kuri plāno pāriet uz HTTP/2.
Lai pārbaudītu palaistās Apache versiju, izpildiet komandu:
$ apache2 -v
No izejas jūs varat redzēt, ka mēs izmantojam jaunāko versiju, kas ir Apache 2.4.41 šī raksta sastādīšanas laikā.
Iespējojiet HTTP/2 Apache virtuālajā resursdatorā
Lai sāktu, vispirms pārbaudiet, vai tīmekļa serveris darbojas HTTP/1.1. To var izdarīt pārlūkprogrammā, Google hromā atverot izstrādātāja rīku sadaļu, izmantojot kombināciju Ctrl + SHIFT + I
. Noklikšķiniet uz cilnes Tīkls un atrodiet kolonnu Protokols.
Pēc tam iespējojiet HTTP/2 moduli Ubuntu, izpildot šādu komandu.
$ sudo a2enmod http2
Pēc tam atrodiet un rediģējiet savu SSL virtuālo resursdatora failu, ja esat iespējojis HTTPS, izmantojot Let’s Encrypt, tiek izveidots jauns fails ar le-ssl.conf sufiksu.
$ sudo vim /etc/apache2/sites-enabled/your-domain-name-le-ssl.conf
Ievietojiet direktīvu zem taga
.
Protocols h2 http/1.1
Lai saglabātu izmaiņas, restartējiet Apache tīmekļa serveri.
$ sudo systemctl restart apache2
Lai pārbaudītu, vai HTTP/2 ir iespējots, ielādējiet HTTP galvenes, izmantojot šādu čokurošanās komandu kā parādīt.
$ curl -I --http2 -s https://domain.com/ | grep HTTP
Jums vajadzētu iegūt parādīto rezultātu.
HTTP/2 200
Pārlūkprogrammā atkārtoti ielādējiet savu vietni. Pēc tam atgriezieties pie izstrādātāja rīkiem un kolonnā “Protokols” apstipriniet HTTP/2, ko apzīmē ar etiķeti h2
.
Lietojot mod_php moduli ar Apache
Ja Apache darbojas kopā ar mod_php moduli, jums jāpārslēdzas uz PHP-FPM. Tas notiek tāpēc, ka mod_php modulis izmanto prefork MPM moduli, kuru HTTP/2 neatbalsta. Jums ir jāinstalē prefork MPM un jāpārslēdzas uz moduli mpm_event, kuru atbalstīs HTTP/2.
Piemēram, ja izmantojat moduli PHP 7.4 mod_php, atspējojiet to, kā parādīts:
$ sudo a2dismod php7.4
Pēc tam atspējojiet prefork MPM moduli.
$ sudo a2dismod mpm_prefork
Pēc moduļu atspējošanas pēc tam iespējojiet moduļus Event MPM, Fast_CGI un setenvif, kā parādīts.
$ sudo a2enmod mpm_event proxy_fcgi setenvif
Instalējiet PHP-FPM uz Ubuntu
Pēc tam instalējiet un sāciet PHP-FPM, kā parādīts.
$ sudo apt install php7.4-fpm $ sudo systemctl start php7.4-fpm
Pēc tam iespējojiet PHP-FPM, lai sāktu sāknēšanas laikā.
$ sudo systemctl enable php7.4-fpm
Pēc tam iespējojiet PHP-FPM kā Apache PHP apstrādātāju un restartējiet Apache tīmekļa serveri, lai veiktu izmaiņas.
$ sudo a2enconf php7.4-fpm
Iespējojiet HTTP/2 atbalstu Apache Ubuntu
Pēc tam iespējojiet HTTP/2 moduli kā iepriekš.
$ sudo a2enmod http2
Restartējiet Apache, lai sinhronizētu visas izmaiņas.
$ sudo systemctl restart apache2
Visbeidzot, jūs varat pārbaudīt, vai jūsu serveris izmanto HTTP/2 protokolu, izmantojot čokurošanās komandu, kā parādīts.
$ curl -I --http2 -s https://domain.com/ | grep HTTP
Varat arī izvēlēties izmantot pārlūka Google Chrome izstrādātāja rīkus, lai pārbaudītu, kā dokumentēts iepriekš. Mums ir šīs rokasgrāmatas beigas. Mēs ceram, ka informācija jums šķita vērtīga un ka varat ērti iespējot HTTP/2 Apache.