Nginx-de HTTP/2.0-i nädip işletmeli


HTTP/2, HTTP protokoly üçin iň soňky standart, HTTP/1.1-iň mirasdüşeri. Web döredijilere we umuman ulanyjylara getirýän peýdalary sebäpli barha meşhur bolýar. HTTP/1.1-iň ähli esasy aýratynlyklaryny goldap, HTTP semantikasy üçin optimal transport üpjün edýär, ýöne köp tarapdan has netijeli bolmagy maksat edinýär.

HTTP/2-iň üstünde web sahypasyny/programmany optimizirlemek üçin has köp mümkinçilik berýän köp aýratynlyk bar. Hakyky multiplexing we ylalaşyk, has gowy sözbaşy gysyşy (ikilik kodlamagy), has ileri tutulýanlygy, akymy dolandyrmagyň has gowy mehanizmlerini we serwere bir müşderä jogap bermäge mümkinçilik berýän\serwer iteklemek atly täze täsir ediş tertibini hödürleýär. Toeri gelende aýtsak, HTTP/2 Google-yň eksperimental SPDY protokolyna esaslanýar.

Şol sebäpli, HTTP/2-iň esasy maksady, web sahypasynyň ýükleniş wagtyny azaltmak, şeýlelik bilen öndürijiligi ýokarlandyrmak. Şeýle hem, tor we serwer çeşmelerini ulanmaga, şeýle hem howpsuzlyga ünsi jemleýär, sebäbi HTTP/2 bilen SSL/TLS şifrlemek hökmany.

Bu makalada, Linux serwerlerinde HTTP/2 goldawy bilen Nginx-i nädip işletmelidigini öwrenersiňiz.

  • NGINX 1.9.5 ýa-da has ýokary wersiýa, ngx_http_v2_module moduly bilen gurlan gurnama.
  • Sahypaňyzyň SSL/TLS şahadatnamasyny ulanýandygyna göz ýetiriň, eger ýok bolsa, özüňiz gol çeken şahadatnamadan alyp bilersiňiz.

Aşakdaky gollanmalarda görkezilişi ýaly NGINX gurup ýa-da LEMP stakasy bilen ýerleşdirip bilersiňiz:

  • Centgin 8-de Nginx-i nädip gurmaly
  • CentOS 8-de LEMP serwerini nädip gurmaly
  • NGHX, MySQL/MariaDB we PHP-ni RHEL 8-de nädip gurmaly
  • Ubuntu 20.04-de PhpMyAdmin bilen LEMP Stack-i nädip gurmaly
  • Debian 10-da Serwer Bloklary (Wirtual Hostlar) bilen Nginx guruň
  • Nginx-i Linux-da HTTP ýük balansy hökmünde nädip ulanmaly

NGINX-de HTTP/2.0 nädip işletmeli

NGINX gurnan bolsaňyz, aşakdaky buýrugy işledip, ngx_http_v2_module moduly bilen gurlandygyny barlaň.

# strings /usr/sbin/nginx | grep _module | grep -v configure| sort | grep ngx_http_v2_module

NGINX tarapyndan HTTPS düzülen web sahypasy/programma üpjün edilenden soň, redaktirlemek üçin web sahypalaryňyzy wirtual serwer blok (ýa-da wirtual host) faýly açyň.

# vi /etc/nginx/conf.d/example.com.conf                    [On CentOS/RHEL]
$ sudo nano /etc/nginx/sites-available/example.com.conf    [On Ubuntu/Debian]

Aşakdaky skrinshotda görkezilişi ýaly ähli diňlemek görkezmelerine diňe http2 parametrini goşmak bilen HTTP/2 goldawyny açyp bilersiňiz.

listen 443 ssl http2;

Serwer blok blokynyň konfigurasiýasy aşakdaky ýaly görünýär.

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    
}

Faýldaky üýtgeşmeleri ýazdyryň we ýapyň.

Soňra NGINX-iň konfigurasiýa sintaksisini barlaň, gowy bolsa, Nginx hyzmatyny täzeden açyň.

# nginx -t
# systemctl restart nginx

Ondan soň, web sahypaňyzyň HTTP/2-den hyzmat edilýändigini ýa-da ýokdugyny barlamak üçin web brauzerini açyň.

http://www.example.com

HTTP sözbaşylaryna girmek üçin, görkezilen web sahypasyna sag basyň, dörediji gurallary açmak üçin opsiýalaryň sanawyndan Barlaň, soňra Ulgam goýmasyna basyň we sahypany täzeden ýükläň.

Sahypaňyzyň ulanýanlaryny görmek üçin Protokollaryň aşagynda barlaň (Protokollaryň sözbaşysyny görmeseňiz, sözbaşylaryň haýsydyr birine sag basyň, ady, soňra sözbaşy hökmünde görkezmek üçin sanawdan Protokoly barlaň).

Sahypaňyz, Protokola laýyklykda, HTTP/1.1-de işleýän bolsa, aşakdaky skrinshotda görkezilişi ýaly http/1.1 görersiňiz.

Protokol boýunça HTTP/2-de işleýän bolsa, aşakdaky skrinshotda görkezilişi ýaly h2 görersiňiz. Web serwerinden gönüden-göni hödürlenýän iň soňky mazmuny görmek üçin brauzer keşini öçürip bilersiňiz.

Bu hemmesi! Has giňişleýin maglumat üçin ngx_http_v2_module modul resminamalaryna serediň. Aşakdaky seslenme formasy arkaly sorag bermäge çekinmäň.