Adja hozzá a Brotli támogatást az Nginxhez az Ubuntu 18.04-en

A Brotli (br) egy új nyílt forráskódú tömörítési algoritmus, amelyet a Google fejlesztett ki a Gzip, Zopfli és Deflate alternatívájaként. Az Internet Engineering Task Force (IETF) hivatalosan RFC 7932- ként határozza meg . A Google Brotli esettanulmánya szerint a tömörítési arány akár 26%-kal is kisebb a jelenlegi módszereknél, kevesebb processzorhasználat mellett.

Az Nginx nem rendelkezik hivatalos támogatással, de van egy harmadik féltől származó, a Google által kifejlesztett ngx_brotli modul, amelyet az Nginx támogatására használhatunk.

Ez az útmutató megmutatja, hogyan adhat hozzá Brotli támogatást az Nginxhez egy friss Ubuntu 18.04 LTS Vultr példányon.

MEGJEGYZÉS: Ez az útmutató johndoepéldafelhasználóként és example.compéldadomainként is szolgál. Cserélje ki őket a nevek szerint.

Követelmények

  • Ubuntu 18.04 LTS szerver
  • Nginx 1.11.5 vagy újabb verzió
  • Domain név a A/ AAAArekordokkal beállítva
  • TLS tanúsítvány

Mielőtt elkezded

Ellenőrizze az Ubuntu verziót.

lsb_release -ds
# Ubuntu 18.04 LTS

Hozzon létre egy új non-rootfelhasználói fiókot sudohozzáféréssel, és váltson rá.

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

MEGJEGYZÉS : Cserélje johndoeki a felhasználónevével .

Frissítse operációs rendszere szoftverét.

sudo apt update && sudo apt upgrade -y

Állítsa be az időzónát.

sudo dpkg-reconfigure tzdata

Telepítse a szükséges összeállítási eszközöket és csomagokat.

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

1. lépés – Telepítse az Acme.sh-t, és szerezzen be TLS-tanúsítványt a Let's Encrypt-től

A Brotli megköveteli a HTTPS beállítását és használatát. Ebben a részben egy megbízható tanúsítványt kapunk a Let's Encrypt-től.

Töltse le és telepítse az Acme.sh-t.

sudo mkdir /etc/letsencrypt
git clone https://github.com/Neilpang/acme.sh.git
cd acme.sh
sudo ./acme.sh --install --home /etc/letsencrypt --accountemail [email protected]
cd ~
source ~/.bashrc

Ellenőrizze a verziót.

acme.sh --version
# v2.8.0

Szerezzen be RSA és ECDSA tanúsítványt a következőhöz: example.com.

# RSA 2048
sudo /etc/letsencrypt/acme.sh --issue --standalone --home /etc/letsencrypt -d example.com --accountemail [email protected] --ocsp-must-staple --keylength 2048

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

A fenti parancsok futtatása után a tanúsítványok és kulcsok a következő helyeken lesznek:

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

2. lépés – Telepítse az Nginx-et a hivatalos Nginx tárolóból

Töltse le és telepítse a legújabb Nginx fővonalat a hivatalos Nginx tárhelyről.

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

Ellenőrizze a verziót.

sudo nginx -v
# nginx version: nginx/1.15.2

Engedélyezze és indítsa el az Nginxet.

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

3. lépés – Töltse le és fordítsa le a Brotli forráskódot

Az Nginx telepítése után a Brotli modult ( ngx_brotli) dinamikus Nginx modulként kell létrehoznunk. Az Nginx 1.11.5-ös verziójától kezdve lehetséges az egyes dinamikus modulok összeállítása a teljes Nginx szoftver lefordítása nélkül. A következő néhány lépésben a Brotli modult dinamikusan építjük fel, a teljes Nginx fordítása nélkül.

Töltse le a fő Nginx forráskód legújabb verzióját, és bontsa ki.

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

MEGJEGYZÉS : Nagyon fontos, hogy az Nginx csomag és az Nginx forráskód verziószáma megegyezzen. Ha az Nginx 1.15.2-t a hivatalos Nginx-tárolóból telepítette, akkor a forráskód ugyanazt a verzióját kell letöltenie , ebben az esetben az 1.15.2-t.

Távolítsa el nginx-1.15.2.tar.gz.

rm nginx-1.15.2.tar.gz

Klón ngx_brotlia GitHubból.

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

Keresse meg az Nginx forráskód könyvtárát.

cd ~/nginx-1.15.2

Töltse le a szükséges könyvtárakat.

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

Fordítsa le ngx_brotlidinamikus modulként, és másolja az Nginx modulok szabványos könyvtárába, /etc/nginx/modules.

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

Listázza ki a fájlokat, /etc/nginx/modulesés látni fogja a ngx_http_brotli_filter_module.soés ngx_http_brotli_static_module.so.

ls /etc/nginx/modules

Állítsa be az engedélyeket 644az összes .sofájlhoz.

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

4. lépés – Az Nginx konfigurálása

Készen állunk a Brotli támogatás konfigurálására az Nginxben.

Futtassa sudo vim /etc/nginx/nginx.confés adja hozzá a következő két direktívát a fájl tetejéhez az új Brotli modulok betöltéséhez.

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

Tesztelje a konfigurációt.

sudo nginx -t

Hozzon létre egy dokumentum gyökérkönyvtárát, example.comés hozzon létre index.htmlbenne tartalommal.

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

Hozzon létre egy virtuális gazdagépet a számára example.com.

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

Töltse ki a következő konfigurációval.

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

Tesztelje a konfigurációt.

sudo nginx -t

Töltse újra az Nginxet.

sudo systemctl reload nginx.service

Keresse fel webhelyét webböngészőjében, és nyissa meg a fejlesztői eszközök hálózat lapját. A Content-Encoding: brválaszfejlécekben látni fogod . Ez azt jelzi, hogy a Brotli tömörítés működik.

Adja hozzá a Brotli támogatást az Nginxhez az Ubuntu 18.04-en

Adja hozzá a Brotli támogatást az Nginxhez az Ubuntu 18.04-en

Engedélyezte a Brotli tömörítést a webszerverén.


Leave a Comment

Telepítse a Plesket a CentOS 7 rendszeren

Telepítse a Plesket a CentOS 7 rendszeren

Más rendszert használ? A Plesk egy szabadalmaztatott webtárhely-vezérlőpult, amely lehetővé teszi a felhasználók számára, hogy adminisztrálják személyes és/vagy ügyfeleik webhelyeit, adatbázisait

A Cacti beállítása a Debian Jessie-n

A Cacti beállítása a Debian Jessie-n

Bevezetés A Cacti egy nyílt forráskódú megfigyelő és grafikus eszköz, amely teljes mértékben az RRD adatokon alapul. A Cactuson keresztül szinte bármilyen típusú eszközt felügyelhet

Telepítse a Lets Encrypt SSL-t az egykattintásos WordPress alkalmazásban

Telepítse a Lets Encrypt SSL-t az egykattintásos WordPress alkalmazásban

Bevezetés A Lets Encrypt egy hitelesítésszolgáltató szolgáltatás, amely ingyenes TLS/SSL-tanúsítványokat kínál. A telepítés folyamatát a Certbot leegyszerűsíti,

Tekkit Classic kiszolgáló beállítása Ubuntu 16.10 rendszeren

Tekkit Classic kiszolgáló beállítása Ubuntu 16.10 rendszeren

Más rendszert használ? Mi az a Tekkit Classic? A Tekkit Classic egy modpack ahhoz a játékhoz, amelyet mindenki ismer és szeret; Minecraft. Tartalmaz néhányat a ver

Az iRedMail beállítása a Debian Wheezy rendszeren

Az iRedMail beállítása a Debian Wheezy rendszeren

Más rendszert használ? Ez az oktatóanyag megmutatja, hogyan telepítheti a csoportmunka iRedMail programot a Debian Wheezy friss telepítésére. Használnia kell egy szervát

Jekyll blog létrehozása Ubuntu 16.04-en

Jekyll blog létrehozása Ubuntu 16.04-en

Más rendszert használ? A Jekyll nagyszerű alternatíva a WordPress helyett blogíráshoz vagy tartalommegosztáshoz. Nem igényel adatbázist, és nagyon egyszerű i

Felügyelet nélküli frissítések beállítása Debian 9-en (Stretch)

Felügyelet nélküli frissítések beállítása Debian 9-en (Stretch)

Más rendszert használ? Ha Debian szervert vásárol, akkor mindig rendelkeznie kell a legújabb biztonsági javításokkal és frissítésekkel, akár alszik, akár nem

A PHP 7.0 vagy PHP 7.1 telepítése és konfigurálása Ubuntu 16.04 rendszeren

A PHP 7.0 vagy PHP 7.1 telepítése és konfigurálása Ubuntu 16.04 rendszeren

A PHP és a kapcsolódó csomagok a leggyakrabban használt összetevők a webszerverek telepítésekor. Ebben a cikkben megtudjuk, hogyan kell beállítani a PHP 7.0 vagy PHP 7.1 o verzióját

A Squid Proxy telepítése a CentOS rendszeren

A Squid Proxy telepítése a CentOS rendszeren

A Squid egy népszerű, ingyenes Linux-program, amely lehetővé teszi továbbítási webproxy létrehozását. Ebben az útmutatóban megtudhatja, hogyan telepítheti a Squid-et a CentOS rendszerre, hogy megfordítsa

A Lighttpd (LLMP Stack) telepítése a CentOS 6 rendszeren

A Lighttpd (LLMP Stack) telepítése a CentOS 6 rendszeren

Bevezetés A Lighttpd az Apache forkja, amely sokkal kevésbé erőforrás-igényes. Könnyű, innen kapta a nevét, és meglehetősen egyszerű a használata. Telepítés

Három ingyenes szervervezérlő panel (gyors telepítés)

Három ingyenes szervervezérlő panel (gyors telepítés)

1. Virtualmin/Webmin A Virtualmin egy hatékony és rugalmas web hosting vezérlőpanel Linux és UNIX rendszerek számára, amely a jól ismert nyílt forráskódú webbázison alapul.

Yii alkalmazás beállítása Ubuntu 14.04-en

Yii alkalmazás beállítása Ubuntu 14.04-en

A Yii egy PHP-keretrendszer, amely lehetővé teszi alkalmazások gyorsabb és egyszerűbb fejlesztését. A Yii telepítése Ubuntura egyszerű, amint azt pontosan megtudhatja

A képernyő használata Ubuntu 14.04-en

A képernyő használata Ubuntu 14.04-en

A Screen egy olyan alkalmazás, amely lehetővé teszi a terminálmunkamenetek többszöri használatát egy ablakon belül. Ez lehetővé teszi több terminálablak szimulálását, ahol ez ma

Állítsa be a saját DNS-kiszolgálóját a Debian/Ubuntu rendszeren

Állítsa be a saját DNS-kiszolgálóját a Debian/Ubuntu rendszeren

Ez az oktatóanyag elmagyarázza, hogyan állíthat be DNS-kiszolgálót a Bind9 használatával Debian vagy Ubuntu rendszeren. A cikkben ennek megfelelően helyettesítse be a saját-domain-neve.com címet. TH-nál

A Logrotate használata naplófájlok kezelésére

A Logrotate használata naplófájlok kezelésére

Bevezetés A Logrotate egy Linux segédprogram, amely leegyszerűsíti a naplófájlok kezelését. Általában naponta egyszer fut egy cron-feladaton keresztül, és kezeli a naplóbázist

A statikus hálózat és az IPv6 konfigurálása CentOS 7 rendszeren

A statikus hálózat és az IPv6 konfigurálása CentOS 7 rendszeren

A VULTR a közelmúltban változtatásokat hajtott végre a saját oldalukon, és most már mindennek jól kell működnie, ha a NetworkManager engedélyezve van. Ha szeretné letiltani

Az Icinga2 módosítása a mester/kliens modell használatához CentOS 6 vagy CentOS 7 rendszeren

Az Icinga2 módosítása a mester/kliens modell használatához CentOS 6 vagy CentOS 7 rendszeren

Az Icinga2 egy hatékony felügyeleti rendszer, és mester-kliens modellben használva helyettesítheti az NRPE-alapú felügyeleti ellenőrzések szükségességét. A mester-kliens

A Red5 Media Server beállítása az Ubuntu 16.04 rendszeren

A Red5 Media Server beállítása az Ubuntu 16.04 rendszeren

Más rendszert használ? A Red5 egy Java nyelven megvalósított nyílt forráskódú médiaszerver, amely lehetővé teszi többfelhasználós Flash-alkalmazások, például élő streamin futtatását.

Fordítsa le és telepítse az Nginx-et a PageSpeed ​​Modul segítségével a Debian 8 rendszeren

Fordítsa le és telepítse az Nginx-et a PageSpeed ​​Modul segítségével a Debian 8 rendszeren

Ebben a cikkben látni fogjuk, hogyan fordíthatja le és telepítheti az Nginx fővonalat az Nginx hivatalos forrásaiból a PageSpeed ​​modullal, amely lehetővé teszi a

Az Apache Cassandra 3.11.x telepítése Ubuntu 16.04 LTS rendszeren

Az Apache Cassandra 3.11.x telepítése Ubuntu 16.04 LTS rendszeren

Más rendszert használ? Az Apache Cassandra egy ingyenes és nyílt forráskódú NoSQL adatbázis-kezelő rendszer, amelyet úgy terveztek, hogy biztosítsa a méretezhetőséget,

Egyéni Windows ISO létrehozása frissítésekkel az NTLite használatával

Egyéni Windows ISO létrehozása frissítésekkel az NTLite használatával

Ez az oktatóanyag végigvezeti Önt a Vultrs rendszerekkel kompatibilis Windows ISO létrehozásának folyamatán. Itt megtanulhatja az <<strong>>Windows ISO<<strong>> előállításának lépéseit az NTLite segítségével.

A gépek felemelkedése: Az AI valós világbeli alkalmazásai

A gépek felemelkedése: Az AI valós világbeli alkalmazásai

A mesterséges intelligencia nem a jövőben, hanem itt a jelenben. Ebben a blogban Olvassa el, hogyan hatott a mesterséges intelligencia alkalmazások különböző ágazatokra.

DDOS támadások: Rövid áttekintés

DDOS támadások: Rövid áttekintés

Ön is DDOS támadások áldozata, és tanácstalan a megelőzési módszereket illetően? Olvassa el ezt a cikket a kérdések megoldásához.

Gondolkozott már azon, hogyan keresnek pénzt a hackerek?

Gondolkozott már azon, hogyan keresnek pénzt a hackerek?

Talán hallottál már arról, hogy a hackerek sok pénzt keresnek, de elgondolkodtál már azon, hogyan kereshetnek ennyi pénzt? beszéljük meg.

A Google forradalmi találmányai, amelyek megkönnyítik az életét.

A Google forradalmi találmányai, amelyek megkönnyítik az életét.

Szeretné látni a Google forradalmi találmányait, és azt, hogy ezek a találmányok hogyan változtatták meg minden mai ember életét? Ezután olvassa el a blogot, és nézze meg a Google találmányait.

Essential péntek: Mi történt az AI-vezérelt autókkal?

Essential péntek: Mi történt az AI-vezérelt autókkal?

Az önvezető autók koncepciója, hogy mesterséges intelligencia segítségével kerüljenek az utakra, már egy ideje álmunk. De számos ígéret ellenére sehol sem látszanak. Olvassa el ezt a blogot, hogy többet megtudjon…

Technológiai szingularitás: az emberi civilizáció távoli jövője?

Technológiai szingularitás: az emberi civilizáció távoli jövője?

Ahogy a tudomány gyors ütemben fejlődik, átveszi erőfeszítéseink nagy részét, megnő annak a kockázata is, hogy alávetjük magunkat egy megmagyarázhatatlan szingularitásnak. Olvassa el, mit jelenthet számunkra a szingularitás.

Az adattárolás fejlődése – Infografika

Az adattárolás fejlődése – Infografika

Az adatok tárolási módjai az Adatok születése óta alakulhatnak. Ez a blog egy infografika alapján mutatja be az adattárolás fejlődését.

A Big Data Reference Architecture Layerek funkciói

A Big Data Reference Architecture Layerek funkciói

Olvassa el a blogot, hogy a legegyszerűbb módon ismerje meg a Big Data Architecture különböző rétegeit és azok funkcióit.

Az okosotthoni eszközök 6 lenyűgöző előnye az életünkben

Az okosotthoni eszközök 6 lenyűgöző előnye az életünkben

Ebben a digitálisan vezérelt világban az intelligens otthoni eszközök az élet döntő részévé váltak. Íme az intelligens otthoni eszközök néhány elképesztő előnye, hogyan teszik életünket érdemessé és egyszerűbbé.