Pridėkite „Brotli“ palaikymą „Nginx“ Ubuntu 18.04 versijoje

Brotli (br) yra naujas atvirojo kodo glaudinimo algoritmas, sukurtas Google kaip alternatyva Gzip, Zopfli ir Deflate. Interneto inžinerijos darbo grupėje (IETF) jis oficialiai apibrėžtas kaip RFC 7932 . „Google“ atvejo tyrimas „Brotli“ parodė, kad glaudinimo koeficientas yra iki 26% mažesnis nei dabartiniai metodai, naudojant mažiau procesoriaus.

„Nginx“ neturi oficialaus palaikymo, tačiau yra „Google“ sukurtas trečiosios šalies modulis, vadinamas ngx_brotli , kurį galime naudoti norėdami pridėti „Nginx“ palaikymą.

Šis vadovas parodys, kaip pridėti „Brotli“ palaikymą prie „Nginx“ naujame „Ubuntu 18.04 LTS Vultr“ egzemplioriuje.

PASTABA: Šis vadovas bus naudojamas johndoekaip naudotojo example.compavyzdys ir domeno pavyzdys. Pakeiskite juos pagal savo vardus.

Reikalavimai

  • Ubuntu 18.04 LTS serveris
  • Nginx versija 1.11.5 arba naujesnė
  • Domeno vardas su nustatyta A/ AAAAįrašais
  • TLS sertifikatas

Prieš tau pradedant

Patikrinkite Ubuntu versiją.

lsb_release -ds
# Ubuntu 18.04 LTS

Sukurkite naują non-rootvartotojo paskyrą su sudoprieiga ir perjunkite į ją.

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

PASTABA : pakeiskite johndoesavo vartotojo vardu .

Atnaujinkite savo operacinės sistemos programinę įrangą.

sudo apt update && sudo apt upgrade -y

Nustatykite laiko juostą.

sudo dpkg-reconfigure tzdata

Įdiekite reikiamus kūrimo įrankius ir paketus.

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

1 veiksmas – įdiekite Acme.sh ir gaukite TLS sertifikatą iš Let's Encrypt

„Brotli“ reikalauja, kad nustatytumėte ir naudotumėte HTTPS. Šioje dalyje gausime patikimą sertifikatą iš Let's Encrypt.

Atsisiųskite ir įdiekite 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 [email protected]
cd ~
source ~/.bashrc

Patikrinkite versiją.

acme.sh --version
# v2.8.0

Gaukite RSA ir ECDSA sertifikatus 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

Paleidus aukščiau pateiktas komandas, jūsų sertifikatai ir raktai bus šiose vietose:

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

2 veiksmas – įdiekite „Nginx“ iš oficialios „Nginx“ saugyklos

Atsisiųskite ir įdiekite naujausią pagrindinę „Nginx“ versiją iš oficialaus „Nginx“ atpirkimo.

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

Patikrinkite versiją.

sudo nginx -v
# nginx version: nginx/1.15.2

Įgalinkite ir paleiskite „Nginx“.

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

3 veiksmas – atsisiųskite ir sukompiliuokite „Brotli“ šaltinio kodą

Įdiegę Nginx, turime sukurti Brotli modulį ( ngx_brotli) kaip dinaminį Nginx modulį. Iš Nginx 1.11.5 versijos galima kompiliuoti atskirus dinaminius modulius nesudarius visos Nginx programinės įrangos. Kituose keliuose žingsniuose sukursime „Brotli“ modulį kaip dinamišką, nesudarydami viso „Nginx“.

Atsisiųskite naujausią pagrindinio „Nginx“ šaltinio kodo versiją ir išskleiskite ją.

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

PASTABA : labai svarbu, kad „Nginx“ paketo ir „Nginx“ šaltinio kodo versijų numeriai sutaptų. Jei įdiegėte Nginx 1.15.2 iš oficialios Nginx saugyklos, turite atsisiųsti tą pačią šaltinio kodo versiją, šiuo atveju 1.15.2.

Pašalinti nginx-1.15.2.tar.gz.

rm nginx-1.15.2.tar.gz

Klonas ngx_brotliiš GitHub.

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

Eikite į Nginx šaltinio kodo katalogą.

cd ~/nginx-1.15.2

Atsisiųskite reikiamas bibliotekas.

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

Sukompiliuokite ngx_brotlikaip dinaminį modulį ir nukopijuokite jį į standartinį Nginx modulių katalogą, /etc/nginx/modules.

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

Išvardykite failus /etc/nginx/modulesir pamatysite ngx_http_brotli_filter_module.soir ngx_http_brotli_static_module.so.

ls /etc/nginx/modules

Nustatykite 644visų .sofailų leidimus .

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

4 veiksmas – sukonfigūruokite „Nginx“.

Esame pasirengę konfigūruoti „Brotli“ palaikymą „Nginx“.

Paleiskite sudo vim /etc/nginx/nginx.confir failo viršuje pridėkite šias dvi direktyvas, kad įkeltumėte naujus „Brotli“ modulius.

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

Išbandykite konfigūraciją.

sudo nginx -t

Sukurkite dokumento šakninį katalogą example.comir sukurkite index.htmljame esantį turinį.

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

Sukurkite virtualų prieglobą, skirtą example.com.

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

Užpildykite jį naudodami šią konfigūraciją.

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

Išbandykite konfigūraciją.

sudo nginx -t

Iš naujo įkelti Nginx.

sudo systemctl reload nginx.service

Apsilankykite svetainėje naudodami žiniatinklio naršyklę ir atidarykite kūrėjo įrankių tinklo skirtuką. Pamatysite Content-Encoding: bratsakymų antraštėse. Tai rodo, kad „Brotli“ suspaudimas veikia.

Pridėkite „Brotli“ palaikymą „Nginx“ Ubuntu 18.04 versijoje

Pridėkite „Brotli“ palaikymą „Nginx“ Ubuntu 18.04 versijoje

Savo žiniatinklio serveryje įgalinote „Brotli“ glaudinimą.


Įdiekite „Plesk“ „CentOS 7“.

Įdiekite „Plesk“ „CentOS 7“.

Naudojate kitą sistemą? Plesk yra patentuotas žiniatinklio prieglobos valdymo skydelis, leidžiantis vartotojams administruoti savo asmenines ir (arba) klientų svetaines, duomenų bazes

Nustatykite „Cacti“ naudodami „Debian Jessie“.

Nustatykite „Cacti“ naudodami „Debian Jessie“.

Įvadas Cacti yra atvirojo kodo stebėjimo ir grafikų sudarymo įrankis, visiškai pagrįstas RRD duomenimis. Naudodami „Cacti“ galite stebėti beveik bet kokio tipo įrenginius

Įdiekite „Lets Encrypt SSL“ „WordPress“ programoje vienu spustelėjimu

Įdiekite „Lets Encrypt SSL“ „WordPress“ programoje vienu spustelėjimu

Įvadas „Lets Encrypt“ yra sertifikatų išdavimo tarnyba, siūlanti nemokamus TLS/SSL sertifikatus. Diegimo procesą supaprastina Certbot,

Kaip nustatyti „Tekkit Classic“ serverį „Ubuntu 16.10“.

Kaip nustatyti „Tekkit Classic“ serverį „Ubuntu 16.10“.

Naudojate kitą sistemą? Kas yra Tekkit Classic? „Tekkit Classic“ yra visų žinomo ir mėgstamo žaidimo modifikacijų paketas; Minecraft. Jame yra keletas ver

„Debian Wheezy“ nustatykite „iRedMail“.

„Debian Wheezy“ nustatykite „iRedMail“.

Naudojate kitą sistemą? Ši pamoka parodys, kaip įdiegti grupinę programinę įrangą iRedMail naujai įdiegus Debian Wheezy. Turėtumėte naudoti tarnavimą

Jekyll tinklaraščio kūrimas Ubuntu 16.04

Jekyll tinklaraščio kūrimas Ubuntu 16.04

Naudojate kitą sistemą? „Jekyll“ yra puiki „WordPress“ alternatyva dienoraščių rašymui ar turinio dalijimuisi. Tam nereikia jokių duomenų bazių ir tai labai paprasta

Kaip įdiegti „Squid“ tarpinį serverį „CentOS“.

Kaip įdiegti „Squid“ tarpinį serverį „CentOS“.

Squid yra populiari nemokama „Linux“ programa, leidžianti sukurti persiuntimo žiniatinklio tarpinį serverį. Šiame vadove pamatysite, kaip įdiegti „Squid“ „CentOS“, kad paverstumėte jus

Kaip įdiegti „Lighttpd“ (LLMP Stack) „CentOS 6“.

Kaip įdiegti „Lighttpd“ (LLMP Stack) „CentOS 6“.

Įvadas Lighttpd yra „Apache“ šakutė, skirta daug mažiau išteklių imti. Jis yra lengvas, todėl jo pavadinimas ir yra gana paprastas naudoti. Įdiegti

Trys nemokami serverio valdymo skydeliai (greitasis diegimas)

Trys nemokami serverio valdymo skydeliai (greitasis diegimas)

1. Virtualmin/Webmin Virtualmin yra galingas ir lankstus interneto prieglobos valdymo skydelis, skirtas Linux ir UNIX sistemoms, pagrįstas gerai žinoma atvirojo kodo žiniatinklio baze

Yii programos nustatymas Ubuntu 14.04

Yii programos nustatymas Ubuntu 14.04

Yii yra PHP sistema, leidžianti greičiau ir lengviau kurti programas. „Yii“ įdiegimas „Ubuntu“ yra nesudėtingas, nes sužinosite tiksliai

Ekrano naudojimas Ubuntu 14.04

Ekrano naudojimas Ubuntu 14.04

Ekranas yra programa, leidžianti kelis kartus naudoti terminalo seansus viename lange. Tai leidžia imituoti kelis terminalo langus, kur tai ma

Logrotate naudojimas žurnalo failams tvarkyti

Logrotate naudojimas žurnalo failams tvarkyti

Įvadas Logrotate yra „Linux“ programa, supaprastinanti žurnalo failų administravimą. Paprastai jis veikia kartą per dieną per cron darbą ir tvarko žurnalų bazę

Statinio tinklo ir IPv6 konfigūravimas CentOS 7

Statinio tinklo ir IPv6 konfigūravimas CentOS 7

VULTR neseniai atliko pakeitimus, ir dabar viskas turėtų veikti gerai, kai įjungta „NetworkManager“. Jei norite išjungti

„Icinga2“ modifikavimas, kad būtų naudojamas pagrindinis / kliento modelis „CentOS 6“ arba „CentOS 7“.

„Icinga2“ modifikavimas, kad būtų naudojamas pagrindinis / kliento modelis „CentOS 6“ arba „CentOS 7“.

Icinga2 yra galinga stebėjimo sistema, o kai naudojama pagrindinio kliento modelyje, ji gali pakeisti NRPE pagrįstų stebėjimo patikrų poreikį. Meistras-klientas

Kaip įdiegti Apache Cassandra 3.11.x Ubuntu 16.04 LTS

Kaip įdiegti Apache Cassandra 3.11.x Ubuntu 16.04 LTS

Naudojate kitą sistemą? Apache Cassandra yra nemokama ir atviro kodo NoSQL duomenų bazių valdymo sistema, skirta užtikrinti mastelio keitimą, hig.

Kaip įdiegti „Apache Cassandra 3.11.x“ „CentOS 7“.

Kaip įdiegti „Apache Cassandra 3.11.x“ „CentOS 7“.

Naudojate kitą sistemą? Apache Cassandra yra nemokama ir atviro kodo NoSQL duomenų bazių valdymo sistema, skirta užtikrinti mastelio keitimą, hig.

Kaip įdiegti MODX Revolution Ubuntu 16.04 LAMP VPS

Kaip įdiegti MODX Revolution Ubuntu 16.04 LAMP VPS

Naudojate kitą sistemą? MODX Revolution yra greita, lanksti, keičiamo dydžio, nemokama ir atviro kodo, įmonės lygio turinio valdymo sistema (TVS), parašyta i.

Kaip įdiegti „Mattermost 4.1“ „CentOS 7“.

Kaip įdiegti „Mattermost 4.1“ „CentOS 7“.

Naudojate kitą sistemą? Mattermost yra atvirojo kodo, savarankiškai priglobta alternatyva Slack SAAS pranešimų paslaugai. Kitaip tariant, naudodami Mattermost, jūs apytiksliai

Kaip įdiegti MODX Revolution FreeBSD 11 FAMP VPS

Kaip įdiegti MODX Revolution FreeBSD 11 FAMP VPS

Naudojate kitą sistemą? MODX Revolution yra greita, lanksti, keičiamo dydžio atvirojo kodo, įmonės lygio turinio valdymo sistema (TVS), parašyta PHP. Tai i

Leidžia šifruoti Plesk

Leidžia šifruoti Plesk

„Plesk“ valdymo skydelyje yra labai graži „Lets Encrypt“ integracija. „Lets Encrypt“ yra vienas iš vienintelių SSL teikėjų, išduodančių visus sertifikatus

Mašinų augimas: AI pritaikymas realiame pasaulyje

Mašinų augimas: AI pritaikymas realiame pasaulyje

Dirbtinis intelektas nėra ateityje, jis čia, dabartyje Šiame tinklaraštyje Skaitykite, kaip dirbtinio intelekto programos paveikė įvairius sektorius.

DDOS atakos: trumpa apžvalga

DDOS atakos: trumpa apžvalga

Ar taip pat esate DDOS atakų auka ir esate sumišęs dėl prevencijos metodų? Perskaitykite šį straipsnį, kad išspręstumėte savo užklausas.

Ar kada nors susimąstėte, kaip įsilaužėliai uždirba pinigų?

Ar kada nors susimąstėte, kaip įsilaužėliai uždirba pinigų?

Galbūt girdėjote, kad įsilaužėliai uždirba daug pinigų, bet ar kada susimąstėte, kaip jie uždirba tokius pinigus? padiskutuokime.

Revoliuciniai „Google“ išradimai, kurie palengvins jūsų gyvenimą.

Revoliuciniai „Google“ išradimai, kurie palengvins jūsų gyvenimą.

Ar norite pamatyti revoliucinius „Google“ išradimus ir kaip šie išradimai pakeitė kiekvieno žmogaus gyvenimą šiandien? Tada skaitykite tinklaraštį, kad pamatytumėte „Google“ išradimus.

Penktadienio esminiai dalykai: kas atsitiko AI varomiems automobiliams?

Penktadienio esminiai dalykai: kas atsitiko AI varomiems automobiliams?

Savavaledžių automobilių koncepcija, kuri išvažiuotų į kelius su dirbtinio intelekto pagalba, yra svajonė, kurią jau kurį laiką svajojame. Tačiau nepaisant kelių pažadų, jų niekur nematyti. Skaitykite šį tinklaraštį, kad sužinotumėte daugiau…

Technologinis išskirtinumas: tolima žmogaus civilizacijos ateitis?

Technologinis išskirtinumas: tolima žmogaus civilizacijos ateitis?

Kadangi mokslas sparčiai vystosi, perimdamas daug mūsų pastangų, taip pat didėja rizika, kad pateksime į nepaaiškinamą singuliarumą. Skaitykite, ką mums gali reikšti išskirtinumas.

Duomenų saugojimo raida – infografika

Duomenų saugojimo raida – infografika

Duomenų saugojimo metodai gali būti tobulinami nuo pat Duomenų gimimo. Šiame tinklaraštyje, remiantis infografika, aprašoma duomenų saugojimo raida.

Didžiųjų duomenų atskaitos architektūros sluoksnių funkcijos

Didžiųjų duomenų atskaitos architektūros sluoksnių funkcijos

Skaitykite tinklaraštį, kad paprasčiausiai sužinotumėte apie skirtingus didžiųjų duomenų architektūros sluoksnius ir jų funkcijas.

6 nuostabūs išmaniųjų namų įrenginių privalumai

6 nuostabūs išmaniųjų namų įrenginių privalumai

Šiame skaitmeniniu būdu pagrįstame pasaulyje išmanieji namų įrenginiai tapo svarbia gyvenimo dalimi. Štai keletas nuostabių išmaniųjų namų įrenginių privalumų, kaip jie daro mūsų gyvenimą vertą gyventi ir paprastesnį.

„macOS Catalina 10.15.4“ priedo atnaujinimas kelia daugiau problemų, nei sprendžia

„macOS Catalina 10.15.4“ priedo atnaujinimas kelia daugiau problemų, nei sprendžia

Neseniai „Apple“ išleido „macOS Catalina 10.15.4“ priedą, skirtą problemoms išspręsti, tačiau atrodo, kad dėl atnaujinimo kyla daugiau problemų, dėl kurių „Mac“ įrenginiai blokuojami. Norėdami sužinoti daugiau, perskaitykite šį straipsnį