Shtoni mbështetjen e Brotli në Nginx në Ubuntu 18.04

Brotli (br) është një algoritëm i ri kompresimi me burim të hapur, i zhvilluar nga Google si një alternativë ndaj Gzip, Zopfli dhe Deflate. Ai është përcaktuar zyrtarisht në Task Forcën e Inxhinierisë së Internetit (IETF) si RFC 7932 . Rasti i studimit të Google në Brotli ka treguar raporte kompresimi deri në 26% më të vogla se metodat aktuale, me më pak përdorim të CPU.

Nginx nuk ka mbështetje zyrtare, por ekziston një modul i palës së tretë i zhvilluar nga Google i quajtur ngx_brotli që mund ta përdorim për të shtuar mbështetje për Nginx.

Ky udhëzues do t'ju tregojë se si të shtoni mbështetjen e Brotli në Nginx në një shembull të ri të Ubuntu 18.04 LTS Vultr.

SHËNIM: Ky udhëzues do të përdoret johndoesi një shembull përdoruesi dhe example.comsi një domen shembull. Zëvendësojini sipas emrave tuaj.

Kërkesat

  • Serveri Ubuntu 18.04 LTS
  • Versioni Nginx 1.11.5 ose më i ri
  • Emri i domenit me A/ AAAAkonfigurimin e regjistrimeve
  • Certifikata TLS

Perpara se te fillosh

Kontrolloni versionin e Ubuntu.

lsb_release -ds
# Ubuntu 18.04 LTS

Krijoni një non-rootllogari të re përdoruesi me sudoakses dhe kaloni në të.

adduser johndoe --gecos "John Doe"
usermod -aG sudo johndoe
su - johndoe

SHËNIM : Zëvendësojeni johndoeme emrin tuaj të përdoruesit .

Përditësoni softuerin e sistemit tuaj operativ.

sudo apt update && sudo apt upgrade -y

Vendosni zonën kohore.

sudo dpkg-reconfigure tzdata

Instaloni mjetet dhe paketat e nevojshme të ndërtimit.

sudo apt install -y build-essential git apt-transport-https socat

Hapi 1 - Instaloni Acme.sh dhe merrni një certifikatë TLS nga Let's Encrypt

Brotli kërkon që ju të konfiguroni dhe përdorni HTTPS. Në këtë pjesë do të marrim një certifikatë të besuar nga Let's Encrypt.

Shkarkoni dhe instaloni Acme.sh.

sudo mkdir /etc/letsencrypt
git clone https://github.com/Neilpang/acme.sh.git
cd acme.sh
sudo ./acme.sh --install --home /etc/letsencrypt --accountemail your_email@example.com
cd ~
source ~/.bashrc

Kontrolloni versionin.

acme.sh --version
# v2.8.0

Merrni certifikatat RSA dhe ECDSA për example.com.

# RSA 2048
sudo /etc/letsencrypt/acme.sh --issue --standalone --home /etc/letsencrypt -d example.com --accountemail your_email@example.com --ocsp-must-staple --keylength 2048

# ECDSA/ECC P-256
sudo /etc/letsencrypt/acme.sh --issue --standalone --home /etc/letsencrypt -d example.com --accountemail your_email@example.com --ocsp-must-staple --keylength ec-256

Pas ekzekutimit të komandave të mësipërme, certifikatat dhe çelësat tuaj do të jenë në vendet e mëposhtme:

  • RSA: /etc/letsencrypt/example.com
  • ECC/ECDSA: /etc/letsencrypt/example.com_ecc

Hapi 2 – Instaloni Nginx nga depoja zyrtare e Nginx

Shkarkoni dhe instaloni Nginx-in më të fundit kryesor nga depoja zyrtare e Nginx.

wget https://nginx.org/keys/nginx_signing.key
sudo apt-key add nginx_signing.key
rm nginx_signing.key
sudo -s
printf "deb https://nginx.org/packages/mainline/ubuntu/ `lsb_release -sc` nginx \ndeb-src https://nginx.org/packages/mainline/ubuntu/ `lsb_release -sc` nginx \n" >> /etc/apt/sources.list.d/nginx_mainline.list
exit
sudo apt update
sudo apt install -y nginx nginx-module-geoip nginx-module-image-filter nginx-module-njs nginx-module-perl nginx-module-xslt

Kontrolloni versionin.

sudo nginx -v
# nginx version: nginx/1.15.2

Aktivizo dhe nis Nginx.

sudo systemctl enable nginx.service
sudo systemctl start nginx.service

Hapi 3 – Shkarkoni dhe përpiloni kodin burimor të Brotli

Pas instalimit të Nginx, ne duhet të ndërtojmë modulin Brotli ( ngx_brotli) si një modul dinamik Nginx. Nga versioni 1.11.5 Nginx është e mundur të përpiloni module dinamike individuale pa përpiluar softuerin e plotë Nginx. Në hapat e ardhshëm, ne do të ndërtojmë modulin Brotli si dinamik pa përpiluar Nginx të plotë.

Shkarkoni versionin më të fundit të kodit burimor Nginx dhe nxirrni atë.

wget https://nginx.org/download/nginx-1.15.2.tar.gz && tar zxvf nginx-1.15.2.tar.gz

SHËNIM : Është shumë e rëndësishme që numrat e versionit të paketës Nginx dhe kodi burimor Nginx të përputhen. Nëse keni instaluar Nginx 1.15.2 nga depoja zyrtare e Nginx, atëherë duhet të shkarkoni të njëjtin version të kodit burimor , 1.15.2 në këtë rast.

Hiq nginx-1.15.2.tar.gz.

rm nginx-1.15.2.tar.gz

Klon ngx_brotlinga GitHub.

git clone https://github.com/eustas/ngx_brotli.git
cd ngx_brotli && git submodule update --init && cd ~

Navigoni te drejtoria e kodit burimor Nginx.

cd ~/nginx-1.15.2

Shkarkoni bibliotekat e nevojshme.

sudo apt install -y libpcre3 libpcre3-dev zlib1g zlib1g-dev openssl libssl-dev

Përpiloni ngx_brotlimodulin si një modul dinamik dhe kopjoni atë në drejtorinë standarde për modulet Nginx, /etc/nginx/modules.

./configure --with-compat --add-dynamic-module=../ngx_brotli
make modules
sudo cp objs/*.so /etc/nginx/modules

Listoni skedarët në /etc/nginx/modulesdhe do të shihni ngx_http_brotli_filter_module.sodhe ngx_http_brotli_static_module.so.

ls /etc/nginx/modules

Cakto lejet 644për të gjithë .soskedarët.

sudo chmod 644 /etc/nginx/modules/*.so

Hapi 4 – Konfiguro Nginx

Ne jemi gati të konfigurojmë mbështetjen e Brotli në Nginx.

Ekzekutoni sudo vim /etc/nginx/nginx.confdhe shtoni dy direktivat e mëposhtme në krye të skedarit për të ngarkuar module të reja Brotli.

load_module modules/ngx_http_brotli_filter_module.so;
load_module modules/ngx_http_brotli_static_module.so;

Testoni konfigurimin.

sudo nginx -t

Krijoni një direktori rrënjësore të dokumentit example.comdhe krijoni index.htmlme disa përmbajtje në të.

sudo mkdir -p /var/www/example.com
sudo -s
echo "Hello from example.com" >> /var/www/example.com/index.html
exit

Krijo një host virtual për example.com.

sudo vim /etc/nginx/conf.d/example.com.conf

Plotësoni atë me konfigurimin e mëposhtëm.

server {
  listen 80;
  server_name example.com; # Replace with your domain name
  return 301 https://$server_name$request_uri;
}

server {    
  listen 443 ssl http2;
  server_name example.com; # Replace with your domain name

  root /var/www/example.com; # Replace with your document root

  # RSA
  ssl_certificate /etc/letsencrypt/example.com/fullchain.cer;
  ssl_certificate_key /etc/letsencrypt/example.com/example.com.key;
  # ECDSA
  ssl_certificate /etc/letsencrypt/example.com_ecc/fullchain.cer;
  ssl_certificate_key /etc/letsencrypt/example.com_ecc/example.com.key;

  brotli on;
  brotli_static on;
  brotli_types text/plain text/css text/javascript application/javascript text/xml application/xml image/svg+xml application/json;
}

Testoni konfigurimin.

sudo nginx -t

Rifresko Nginx.

sudo systemctl reload nginx.service

Vizitoni faqen tuaj në shfletuesin tuaj të internetit dhe hapni skedën e rrjetit të mjeteve të zhvilluesit. Do të shihni Content-Encoding: brnë titujt e përgjigjeve. Ky është treguesi se kompresimi Brotli po funksionon.

Shtoni mbështetjen e Brotli në Nginx në Ubuntu 18.04

Shtoni mbështetjen e Brotli në Nginx në Ubuntu 18.04

Ju keni aktivizuar kompresimin Brotli në serverin tuaj të internetit.

Lëreni një koment

Ngritja e makinave: Aplikimet në botën reale të AI

Ngritja e makinave: Aplikimet në botën reale të AI

Inteligjenca Artificiale nuk është në të ardhmen, është këtu në të tashmen Në këtë blog Lexoni se si aplikacionet e inteligjencës artificiale kanë ndikuar në sektorë të ndryshëm.

Sulmet DDOS: Një përmbledhje e shkurtër

Sulmet DDOS: Një përmbledhje e shkurtër

A jeni edhe ju viktimë e Sulmeve DDOS dhe jeni konfuz në lidhje me metodat e parandalimit? Lexoni këtë artikull për të zgjidhur pyetjet tuaja.

A e keni pyetur ndonjëherë veten se si fitojnë para hakerët?

A e keni pyetur ndonjëherë veten se si fitojnë para hakerët?

Ju mund të keni dëgjuar se hakerët fitojnë shumë para, por a keni menduar ndonjëherë se si i fitojnë ato para? Le te diskutojme.

Shpikjet revolucionare nga Google që do tju bëjnë të lehtë jetën tuaj.

Shpikjet revolucionare nga Google që do tju bëjnë të lehtë jetën tuaj.

Dëshironi të shihni shpikjet revolucionare nga Google dhe se si këto shpikje ndryshuan jetën e çdo njeriu sot? Më pas lexoni në blog për të parë shpikjet nga Google.

E Premte Thelbësore: Çfarë ndodhi me Makinat e drejtuara nga AI?

E Premte Thelbësore: Çfarë ndodhi me Makinat e drejtuara nga AI?

Koncepti i makinave vetë-drejtuese për të dalë në rrugë me ndihmën e inteligjencës artificiale është një ëndërr që e kemi prej kohësh. Por, pavarësisht nga disa premtime, ato nuk shihen askund. Lexoni këtë blog për të mësuar më shumë…

Singulariteti teknologjik: Një e ardhme e largët e qytetërimit njerëzor?

Singulariteti teknologjik: Një e ardhme e largët e qytetërimit njerëzor?

Ndërsa Shkenca evoluon me një ritëm të shpejtë, duke marrë përsipër shumë nga përpjekjet tona, rriten edhe rreziqet për t'iu nënshtruar një Singulariteti të pashpjegueshëm. Lexoni, çfarë mund të thotë singulariteti për ne.

Funksionalitetet e shtresave të arkitekturës së referencës së të dhënave të mëdha

Funksionalitetet e shtresave të arkitekturës së referencës së të dhënave të mëdha

Lexoni blogun për të njohur shtresat e ndryshme në arkitekturën e të dhënave të mëdha dhe funksionalitetet e tyre në mënyrën më të thjeshtë.

Evolucioni i ruajtjes së të dhënave - Infografik

Evolucioni i ruajtjes së të dhënave - Infografik

Metodat e ruajtjes së të dhënave kanë evoluar mund të jenë që nga lindja e të dhënave. Ky blog mbulon evolucionin e ruajtjes së të dhënave në bazë të një infografike.

6 Përfitimet e mahnitshme të të pasurit pajisje shtëpiake inteligjente në jetën tonë

6 Përfitimet e mahnitshme të të pasurit pajisje shtëpiake inteligjente në jetën tonë

Në këtë botë të drejtuar nga dixhitali, pajisjet inteligjente të shtëpisë janë bërë një pjesë thelbësore e jetës. Këtu janë disa përfitime të mahnitshme të pajisjeve shtëpiake inteligjente se si ato e bëjnë jetën tonë të vlefshme dhe më të thjeshtë.

Përditësimi shtesë i macOS Catalina 10.15.4 po shkakton më shumë probleme sesa zgjidhja

Përditësimi shtesë i macOS Catalina 10.15.4 po shkakton më shumë probleme sesa zgjidhja

Së fundmi Apple lëshoi ​​macOS Catalina 10.15.4 një përditësim shtesë për të rregulluar problemet, por duket se përditësimi po shkakton më shumë probleme që çojnë në bricking të makinerive mac. Lexoni këtë artikull për të mësuar më shumë