Bættu Brotli stuðningi við Nginx á Ubuntu 18.04

Brotli (br) er nýtt opinn uppspretta þjöppunaralgrím, þróað af Google sem valkostur við Gzip, Zopfli og Deflate. Það er formlega skilgreint í Internet Engineering Task Force (IETF) sem RFC 7932 . Tilviksrannsókn Google á Brotli hefur sýnt þjöppunarhlutföll allt að 26% lægri en núverandi aðferðir, með minni CPU notkun.

Nginx er ekki með opinberan stuðning en það er þriðja aðila eining þróuð af Google sem heitir ngx_brotli sem við getum notað til að bæta stuðningi við Nginx.

Þessi handbók mun sýna þér hvernig á að bæta Brotli stuðningi við Nginx á nýju Ubuntu 18.04 LTS Vultr dæmi.

ATH: Þessi handbók mun nota johndoesem dæmi um notanda og example.comsem dæmi um lén. Skiptu þeim út í samræmi við nöfnin þín.

Kröfur

  • Ubuntu 18.04 LTS miðlara
  • Nginx útgáfa 1.11.5 eða nýrri
  • Lén með A/ AAAAskrár sett upp
  • TLS vottorð

Áður en þú byrjar

Athugaðu Ubuntu útgáfuna.

lsb_release -ds
# Ubuntu 18.04 LTS

Búðu til nýjan non-rootnotandareikning með sudoaðgangi og skiptu yfir í hann.

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

ATH : Skiptu út johndoefyrir notendanafnið þitt .

Uppfærðu hugbúnað stýrikerfisins þíns.

sudo apt update && sudo apt upgrade -y

Settu upp tímabeltið.

sudo dpkg-reconfigure tzdata

Settu upp nauðsynleg byggingarverkfæri og pakka.

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

Skref 1 - Settu upp Acme.sh og fáðu TLS vottorð frá Let's Encrypt

Brotli krefst þess að þú setjir upp og notar HTTPS. Í þessum hluta munum við fá traust vottorð frá Let's Encrypt.

Sæktu og settu upp 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

Athugaðu útgáfuna.

acme.sh --version
# v2.8.0

Fáðu RSA og ECDSA vottorð fyrir 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

Eftir að hafa keyrt skipanirnar hér að ofan verða vottorðin þín og lyklar á eftirfarandi stöðum:

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

Skref 2 – Settu upp Nginx frá opinberu Nginx geymslunni

Sæktu og settu upp nýjustu aðallínuna Nginx frá opinberu Nginx endurhverfunni.

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

Athugaðu útgáfuna.

sudo nginx -v
# nginx version: nginx/1.15.2

Virkjaðu og ræstu Nginx.

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

Skref 3 - Hladdu niður og settu saman Brotli frumkóðann

Eftir að Nginx hefur verið sett upp þurfum við að byggja Brotli eininguna ( ngx_brotli) sem kraftmikla Nginx mát. Frá Nginx útgáfu 1.11.5 er hægt að setja saman einstakar dynamic einingar án þess að setja saman allan Nginx hugbúnaðinn. Í næstu skrefum munum við byggja Brotli eininguna sem kraftmikla án þess að setja saman heildar Nginx.

Sæktu nýjustu útgáfuna af Nginx frumkóðanum og dragðu hann út.

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

ATH : Það er mjög mikilvægt að útgáfunúmer Nginx pakkans og Nginx frumkóðans passa saman. Ef þú settir upp Nginx 1.15.2 frá opinberu Nginx geymslunni, þá verður þú að hlaða niður sömu útgáfu af frumkóðanum , 1.15.2 í þessu tilfelli.

Fjarlægja nginx-1.15.2.tar.gz.

rm nginx-1.15.2.tar.gz

Klóna ngx_brotlifrá GitHub.

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

Farðu í Nginx frumkóðaskrána.

cd ~/nginx-1.15.2

Sækja nauðsynleg bókasöfn.

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

Settu saman ngx_brotlisem kraftmikla einingu og afritaðu hana í staðlaða möppu fyrir Nginx einingar, /etc/nginx/modules.

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

Listaðu skrár inn /etc/nginx/modulesog þú munt sjá ngx_http_brotli_filter_module.soog ngx_http_brotli_static_module.so.

ls /etc/nginx/modules

Stilltu heimildir á 644fyrir allar .soskrár.

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

Skref 4 - Stilla Nginx

Við erum tilbúin til að stilla Brotli stuðning í Nginx.

Keyrðu sudo vim /etc/nginx/nginx.confog bættu við eftirfarandi tveimur tilskipunum efst í skránni til að hlaða nýjum Brotli einingar.

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

Prófaðu stillinguna.

sudo nginx -t

Búðu til rótarskrá skjalsins fyrir example.comog búðu til index.htmlmeð einhverju efni í henni.

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

Búðu til sýndargestgjafa fyrir example.com.

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

Fylltu það með eftirfarandi uppsetningu.

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;
}

Prófaðu stillinguna.

sudo nginx -t

Endurhlaða Nginx.

sudo systemctl reload nginx.service

Farðu á síðuna þína í vafranum þínum og opnaðu netflipann með þróunartólum. Þú munt sjá Content-Encoding: brí svarhausunum. Það er vísbendingin um að Brotli þjöppun sé að virka.

Bættu Brotli stuðningi við Nginx á Ubuntu 18.04

Bættu Brotli stuðningi við Nginx á Ubuntu 18.04

Þú hefur virkjað Brotli-þjöppun á vefþjóninum þínum.

Skildu eftir athugasemd

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Gervigreind er ekki í framtíðinni, hún er hér í nútímanum Í þessu bloggi Lestu hvernig gervigreindarforrit hafa haft áhrif á ýmsa geira.

DDOS árásir: Stutt yfirlit

DDOS árásir: Stutt yfirlit

Ertu líka fórnarlamb DDOS árása og ruglaður með forvarnaraðferðirnar? Lestu þessa grein til að leysa spurningar þínar.

Hefur þú einhvern tíma velt því fyrir þér hvernig tölvuþrjótar græða peninga?

Hefur þú einhvern tíma velt því fyrir þér hvernig tölvuþrjótar græða peninga?

Þú gætir hafa heyrt að tölvuþrjótar græða mikið af peningum, en hefur þú einhvern tíma velt því fyrir þér hvernig þeir vinna sér inn svona peninga? við skulum ræða.

Byltingarkenndar uppfinningar frá Google sem munu auðvelda lífi þínu.

Byltingarkenndar uppfinningar frá Google sem munu auðvelda lífi þínu.

Viltu sjá byltingarkenndar uppfinningar frá Google og hvernig þessar uppfinningar breyttu lífi hvers manns í dag? Lestu síðan til að blogga til að sjá uppfinningar frá Google.

Föstudagur Nauðsynlegur: Hvað varð um gervigreindardrifna bíla?

Föstudagur Nauðsynlegur: Hvað varð um gervigreindardrifna bíla?

Hugmyndin um að sjálfkeyrandi bílar fari á göturnar með hjálp gervigreindar er draumur sem við höfum átt um tíma núna. En þrátt fyrir nokkur loforð eru þau hvergi sjáanleg. Lestu þetta blogg til að læra meira…

Tæknileg sérkenni: Fjarlæg framtíð mannlegrar siðmenningar?

Tæknileg sérkenni: Fjarlæg framtíð mannlegrar siðmenningar?

Þar sem vísindin þróast hratt og taka yfir mikið af viðleitni okkar, eykst hættan á því að verða fyrir óútskýranlegri einstæðu. Lestu, hvað sérkenni gæti þýtt fyrir okkur.

Virkni Big Data Reference Architecture Layers

Virkni Big Data Reference Architecture Layers

Lestu bloggið til að þekkja mismunandi lög í Big Data Architecture og virkni þeirra á einfaldasta hátt.

Þróun gagnageymslu – Infographic

Þróun gagnageymslu – Infographic

Geymsluaðferðir gagna hafa verið að þróast gæti verið frá fæðingu gagna. Þetta blogg fjallar um þróun gagnageymslu á grundvelli upplýsingamynda.

6 ótrúlegir kostir þess að hafa snjall heimilistæki í lífi okkar

6 ótrúlegir kostir þess að hafa snjall heimilistæki í lífi okkar

Í þessum stafræna heimi hafa snjallheimilistæki orðið afgerandi hluti af lífi. Hér eru nokkrir ótrúlegir kostir snjallheimatækja um hvernig þau gera líf okkar þess virði að lifa því og einfaldara.

macOS Catalina 10.15.4 viðbót uppfærsla veldur fleiri vandamálum en að leysa

macOS Catalina 10.15.4 viðbót uppfærsla veldur fleiri vandamálum en að leysa

Nýlega gaf Apple út macOS Catalina 10.15.4 viðbótaruppfærslu til að laga vandamál en svo virðist sem uppfærslan sé að valda fleiri vandamálum sem leiða til múrsteins á Mac vélum. Lestu þessa grein til að læra meira