Otu esi eme HTTP/2.0 na Nginx
HTTP/2 bụ ọkọlọtọ kachasị ọhụrụ maka protocol HTTP, ọ bụ onye nọchiri HTTP/1.1. Ọ na-aghọwanye ewu ewu n'ihi uru ọ na-ewetara ndị mmepe weebụ na ndị ọrụ n'ozuzu ya. Ọ na-enye njem kachasị mma maka semantics HTTP site n'ịkwado atụmatụ niile nke HTTP/1.1 mana ọ chọrọ ịdị na-arụ ọrụ nke ọma n'ọtụtụ ụzọ.
Enwere ọtụtụ atụmatụ n'elu HTTP/2 na-enye gị ohere karịa ịkwalite saịtị/ngwa weebụ. Ọ na-enye ezi multiplexing na concurrency, mma nkụnye eji isi mee (binary encoding), ka mma ụzọ, mma usoro njikwa ọsọ, na ọhụrụ mmekọrịta mode a na-akpọ \server push nke na-enyere sava aka ịkwanye nzaghachi na onye ahịa. /2 dabere na ụkpụrụ nnwale SPDY nke Google.
Ya mere, isi ihe HTTP/2 na-elekwasị anya bụ ibelata oge nbudata ibe weebụ, si otú a na-emeziwanye arụmọrụ. Ọ na-elekwasịkwa anya na ojiji netwọkụ na ihe nkesa yana nchekwa n'ihi na, na HTTP/2, SSL/TLS izo ya ezo bụ iwu.
N'isiokwu a, ị ga-amụta otu esi eme Nginx na nkwado HTTP/2 na sava Linux.
- Nrụnye na-arụ ọrụ nke ụdị NGINX 1.9.5 ma ọ bụ karịa, ejiri modul ngx_http_v2_module wuo.
- Jide n'aka na saịtị gị na-eji asambodo SSL/TLS, ọ bụrụ na ịnweghị otu, ị nwere ike nweta akwụkwọ ejiri aka ya bịa.
Ị nwere ike iwunye NGINX ma ọ bụ tinye ya na nchịkọta LEMP dịka akọwara na ntuziaka ndị a:
- Otu esi etinye Nginx na CentOS 8
- Otu esi etinye sava LEMP na CentOS 8
- Otu esi etinye NGINX, MySQL/MariaDB na PHP na RHEL 8
- Etu esi etinye LEMP Stack na PhpMyAdmin na Ubuntu 20.04
- Wụnye Nginx na ihe mgbochi sava (Virtual Hosts) na Debian 10
- Etu esi eji Nginx dị ka HTTP Load Balancer na Linux
Otu esi eme HTTP/2.0 na NGINX
Ọ bụrụ na etinyere NGINX, chọpụta na ejiri modul ngx_http_v2_module
wuo ya site na iji iwu na-esonụ.
# strings /usr/sbin/nginx | grep _module | grep -v configure| sort | grep ngx_http_v2_module
Ozugbo ị nwere ebe nrụọrụ weebụ/ngwa NGINX nwere ahaziri HTTPS, mepee faịlụ ebe nrụọrụ weebụ mebere ngọngọ (ma ọ bụ onye ọbịa mebere) maka idezi.
# vi /etc/nginx/conf.d/example.com.conf [On CentOS/RHEL] $ sudo nano /etc/nginx/sites-available/example.com.conf [On Ubuntu/Debian]
Ị nwere ike ime nkwado HTTP/2 site na ịgbakwụnye http2
paramita na ntụziaka ntị
niile dị ka egosiri na nseta ihuenyo na-esonụ.
listen 443 ssl http2;
Nhazi ngọngọ ihe nkesa dị ka n'okpuru.
server { server_name example.com www.example.com; access_log /var/log/nginx/example.com_access.log; error_log /var/log/nginx/example.com_error.log; listen [::]:443 ssl ipv6only=on http2; # managed by Certbot listen 443 ssl http2; # managed by Certbot ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; # managed by Certbot ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; # managed by Certbot include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot }
Chekwaa mgbanwe na faịlụ ma mechie ya.
Wee lelee syntax nhazi NGINX, ọ bụrụ na ọ dị mma, malitegharịa ọrụ Nginx.
# nginx -t # systemctl restart nginx
Na-esote, mepee ihe nchọgharị weebụ iji chọpụta ma ọ bụrụ na a na-eje ozi webụsaịtị gị karịa HTTP/2.
http://www.example.com
Iji nweta nkụnye eji isi mee HTTP, pịa aka nri na ibe weebụ egosiri, họrọ Nyochaa na listi nhọrọ iji mepee ngwa nrụpụta, wee pịa Network tab, ma bugharịa ibe ahụ.
Lelee n'okpuru Protocols ka ịhụ nke saịtị gị na-eji (ọ bụrụ na ịhụghị isi okwu Protocols, pịa aka nri na nkụnye eji isi mee nke ọ bụla dịka Aha, wee lelee Protocol site na listi iji gosipụta ya dị ka nkụnye eji isi mee).
Ọ bụrụ na saịtị gị na-agba ọsọ na HTTP/1.1, n'okpuru Protocol, ị ga-ahụ http/1.1 dị ka egosiri na nseta ihuenyo na-esonụ.
Ọ bụrụ na ọ na-agba na HTTP/2, n'okpuru Protocol, ị ga-ahụ h2
dị ka egosiri na nseta ihuenyo na-esonụ. Ị nwere ike gbanyụọ cache ihe nchọgharị iji lelee ọdịnaya kachasị ọhụrụ a na-enye ozugbo site na sava weebụ.
Ọ gwụla! Maka ozi ndị ọzọ, lee akwụkwọ modul ngx_http_v2_module. Egbula ịjụ ajụjụ site na mpempe nzaghachi n'okpuru.