Pievienojiet Brotli atbalstu Nginx operētājsistēmā Ubuntu 18.04

Brotli (br) ir jauns atvērtā pirmkoda saspiešanas algoritms, ko Google izstrādājis kā alternatīvu Gzip, Zopfli un Deflate. Interneta inženierijas darba grupā (IETF) tas ir formāli definēts kā RFC 7932 . Google gadījuma izpēte par Brotli ir parādījusi līdz pat 26% mazāku saspiešanas pakāpi nekā pašreizējās metodes, izmantojot mazāku CPU izmantošanu.

Nginx nav oficiāla atbalsta, taču ir Google izstrādāts trešās puses modulis ar nosaukumu ngx_brotli, ko mēs varam izmantot, lai pievienotu Nginx atbalstu.

Šī rokasgrāmata parādīs, kā pievienot Brotli atbalstu Nginx jaunā Ubuntu 18.04 LTS Vultr instancē.

PIEZĪME. Šī rokasgrāmata tiks izmantota johndoekā lietotāja piemērs un example.comdomēna piemērs. Nomainiet tos atbilstoši saviem vārdiem.

Prasības

  • Ubuntu 18.04 LTS serveris
  • Nginx versija 1.11.5 vai jaunāka
  • Iestatīts domēna nosaukums ar A/ AAAAierakstiem
  • TLS sertifikāts

Pirms tu sāc

Pārbaudiet Ubuntu versiju.

lsb_release -ds
# Ubuntu 18.04 LTS

Izveidojiet jaunu non-rootlietotāja kontu ar sudopiekļuvi un pārslēdzieties uz to.

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

PIEZĪME . Aizstāt johndoear savu lietotājvārdu .

Atjauniniet operētājsistēmas programmatūru.

sudo apt update && sudo apt upgrade -y

Iestatiet laika joslu.

sudo dpkg-reconfigure tzdata

Instalējiet nepieciešamos veidošanas rīkus un pakotnes.

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

1. darbība. Instalējiet Acme.sh un iegūstiet TLS sertifikātu no Let's Encrypt

Brotli ir nepieciešams iestatīt un izmantot HTTPS. Šajā daļā mēs iegūsim uzticamu sertifikātu no Let's Encrypt.

Lejupielādējiet un instalējiet 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

Pārbaudiet versiju.

acme.sh --version
# v2.8.0

Iegūstiet RSA un ECDSA sertifikātus 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

Pēc iepriekš minēto komandu izpildes jūsu sertifikāti un atslēgas atradīsies šādās vietās:

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

2. darbība. Instalējiet Nginx no oficiālās Nginx krātuves

Lejupielādējiet un instalējiet jaunāko galveno Nginx versiju no oficiālā Nginx repo.

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

Pārbaudiet versiju.

sudo nginx -v
# nginx version: nginx/1.15.2

Iespējojiet un palaidiet Nginx.

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

3. darbība – lejupielādējiet un kompilējiet Brotli pirmkodu

Pēc Nginx instalēšanas mums ir jāizveido Brotli modulis ( ngx_brotli) kā dinamisks Nginx modulis. No Nginx versijas 1.11.5 ir iespējams apkopot atsevišķus dinamiskos moduļus, nekompilējot visu Nginx programmatūru. Nākamajās darbībās mēs izveidosim Brotli moduli kā dinamisku, nekompilējot visu Nginx.

Lejupielādējiet jaunāko galvenā Nginx pirmkoda versiju un izņemiet to.

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

PIEZĪME . Ir ļoti svarīgi, lai Nginx pakotnes un Nginx pirmkoda versiju numuri atbilstu. Ja instalējāt Nginx 1.15.2 no oficiālā Nginx repozitorija, jums ir jālejupielādē tā pati avota koda versija, šajā gadījumā 1.15.2.

Noņemt nginx-1.15.2.tar.gz.

rm nginx-1.15.2.tar.gz

Klons ngx_brotlino GitHub.

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

Dodieties uz Nginx pirmkoda direktoriju.

cd ~/nginx-1.15.2

Lejupielādējiet nepieciešamās bibliotēkas.

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

Kompilējiet ngx_brotlikā dinamisku moduli un kopējiet to Nginx moduļu standarta direktorijā /etc/nginx/modules.

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

Sarakstiet failus, /etc/nginx/modulesun jūs redzēsit ngx_http_brotli_filter_module.soun ngx_http_brotli_static_module.so.

ls /etc/nginx/modules

Iestatiet atļaujas 644visiem .sofailiem.

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

4. darbība – konfigurējiet Nginx

Mēs esam gatavi konfigurēt Brotli atbalstu Nginx.

Palaidiet sudo vim /etc/nginx/nginx.confun faila augšdaļā pievienojiet šādas divas direktīvas, lai ielādētu jaunus Brotli moduļus.

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

Pārbaudiet konfigurāciju.

sudo nginx -t

Izveidojiet dokumenta saknes direktoriju example.comun izveidojiet index.htmltajā esošo saturu.

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

Izveidojiet virtuālo saimniekdatoru example.com.

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

Aizpildiet to ar šādu konfigurāciju.

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

Pārbaudiet konfigurāciju.

sudo nginx -t

Pārlādēt Nginx.

sudo systemctl reload nginx.service

Apmeklējiet savu vietni savā tīmekļa pārlūkprogrammā un atveriet izstrādātāja rīku tīkla cilni. Jūs redzēsit Content-Encoding: bratbilžu galvenēs. Tas ir rādītājs, ka Brotli saspiešana darbojas.

Pievienojiet Brotli atbalstu Nginx operētājsistēmā Ubuntu 18.04

Pievienojiet Brotli atbalstu Nginx operētājsistēmā Ubuntu 18.04

Jūs savā tīmekļa serverī esat iespējojis Brotli saspiešanu.


Instalējiet Plesk operētājsistēmā CentOS 7

Instalējiet Plesk operētājsistēmā CentOS 7

Vai izmantojat citu sistēmu? Plesk ir patentēts tīmekļa mitinātāja vadības panelis, kas ļauj lietotājiem administrēt savas personīgās un/vai klientu vietnes, datu bāzes

Iestatiet Cacti vietnē Debian Jessie

Iestatiet Cacti vietnē Debian Jessie

Ievads Cacti ir atvērtā koda uzraudzības un grafiku veidošanas rīks, kas pilnībā ir balstīts uz RRD datiem. Izmantojot Cacti, varat pārraudzīt gandrīz jebkura veida ierīces

Instalējiet Lets Encrypt SSL WordPress lietotnē ar vienu klikšķi

Instalējiet Lets Encrypt SSL WordPress lietotnē ar vienu klikšķi

Ievads Lets Encrypt ir sertifikācijas iestādes pakalpojums, kas piedāvā bezmaksas TLS/SSL sertifikātus. Instalēšanas procesu vienkāršo Certbot,

Kā iestatīt Tekkit Classic serveri Ubuntu 16.10

Kā iestatīt Tekkit Classic serveri Ubuntu 16.10

Vai izmantojat citu sistēmu? Kas ir Tekkit Classic? Tekkit Classic ir modifikācija spēlei, kuru visi zina un mīl; Minecraft. Tajā ir daži no ver

Iestatiet iRedMail vietnē Debian Wheezy

Iestatiet iRedMail vietnē Debian Wheezy

Vai izmantojat citu sistēmu? Šī apmācība parādīs, kā instalēt grupas programmu iRedMail jaunā Debian Wheezy instalācijā. Jums vajadzētu izmantot servi

Jekyll emuāra izveide Ubuntu 16.04

Jekyll emuāra izveide Ubuntu 16.04

Vai izmantojat citu sistēmu? Jekyll ir lieliska alternatīva WordPress emuāru rakstīšanai vai satura kopīgošanai. Tam nav nepieciešamas nekādas datu bāzes, un tas ir ļoti vienkārši

Kā iestatīt neuzraudzītus jauninājumus Debian 9 (Stretch)

Kā iestatīt neuzraudzītus jauninājumus Debian 9 (Stretch)

Vai izmantojat citu sistēmu? Ja iegādājaties Debian serveri, jums vienmēr ir jābūt jaunākajiem drošības ielāpiem un atjauninājumiem neatkarīgi no tā, vai jūs guļat vai ne.

Kā instalēt un konfigurēt PHP 7.0 vai PHP 7.1 Ubuntu 16.04

Kā instalēt un konfigurēt PHP 7.0 vai PHP 7.1 Ubuntu 16.04

PHP un saistītās pakotnes ir visbiežāk izmantotie komponenti, izvietojot tīmekļa serveri. Šajā rakstā mēs uzzināsim, kā iestatīt PHP 7.0 vai PHP 7.1 o

Kā instalēt Squid starpniekserveri CentOS

Kā instalēt Squid starpniekserveri CentOS

Squid ir populāra bezmaksas Linux programma, kas ļauj izveidot pāradresācijas tīmekļa starpniekserveri. Šajā rokasgrāmatā jūs redzēsit, kā instalēt Squid uz CentOS, lai jūs pārvērstu

Kā instalēt Lighttpd (LLMP Stack) operētājsistēmā CentOS 6

Kā instalēt Lighttpd (LLMP Stack) operētājsistēmā CentOS 6

Ievads Lighttpd ir Apache dakša, kuras mērķis ir daudz mazāk resursietilpīgs. Tas ir viegls, tāpēc arī tā nosaukums ir diezgan vienkārši lietojams. Instalēšana

Trīs bezmaksas servera vadības paneļi (ātrā instalēšana)

Trīs bezmaksas servera vadības paneļi (ātrā instalēšana)

1. Virtualmin/Webmin Virtualmin ir jaudīgs un elastīgs tīmekļa mitināšanas vadības panelis Linux un UNIX sistēmām, pamatojoties uz labi zināmo atvērtā pirmkoda tīmekļa bāzi

Yii lietojumprogrammas iestatīšana Ubuntu 14.04

Yii lietojumprogrammas iestatīšana Ubuntu 14.04

Yii ir PHP ietvars, kas ļauj ātrāk un vienkāršāk izstrādāt lietojumprogrammas. Yii instalēšana Ubuntu ir vienkārša, jo jūs to uzzināsit precīzi

Ekrāna izmantošana Ubuntu 14.04

Ekrāna izmantošana Ubuntu 14.04

Ekrāns ir lietojumprogramma, kas ļauj vairākkārt izmantot termināļa sesijas vienā logā. Tas ļauj simulēt vairākus termināļa logus, kur tas ma

Iestatiet savu DNS serveri vietnē Debian/Ubuntu

Iestatiet savu DNS serveri vietnē Debian/Ubuntu

Šajā apmācībā ir paskaidrots, kā iestatīt DNS serveri, izmantojot Bind9 uz Debian vai Ubuntu. Visā rakstā attiecīgi aizstājiet savu-domēna-nosaukums.com. plkst

Logrotate izmantošana žurnālfailu pārvaldībai

Logrotate izmantošana žurnālfailu pārvaldībai

Ievads Logrotate ir Linux utilīta, kas vienkāršo žurnālfailu administrēšanu. Tas parasti darbojas reizi dienā, izmantojot cron uzdevumu, un pārvalda žurnālu bāzi

Icinga2 modificēšana, lai izmantotu galveno/klienta modeli operētājsistēmā CentOS 6 vai CentOS 7

Icinga2 modificēšana, lai izmantotu galveno/klienta modeli operētājsistēmā CentOS 6 vai CentOS 7

Icinga2 ir spēcīga uzraudzības sistēma, un, ja to izmanto galvenā klienta modelī, tā var aizstāt vajadzību pēc NRPE balstītām uzraudzības pārbaudēm. Meistars-klients

Iestatiet Red5 Media Server operētājsistēmā Ubuntu 16.04

Iestatiet Red5 Media Server operētājsistēmā Ubuntu 16.04

Vai izmantojat citu sistēmu? Red5 ir atvērtā pirmkoda multivides serveris, kas ieviests Java un ļauj palaist Flash vairāku lietotāju lietojumprogrammas, piemēram, tiešraides straumēšanu.

Kompilējiet un instalējiet Nginx ar PageSpeed ​​moduli operētājsistēmā Debian 8

Kompilējiet un instalējiet Nginx ar PageSpeed ​​moduli operētājsistēmā Debian 8

Šajā rakstā mēs redzēsim, kā apkopot un instalēt Nginx galveno līniju no oficiālajiem Nginx avotiem ar PageSpeed ​​moduli, kas ļauj t

Kā instalēt Apache Cassandra 3.11.x operētājsistēmā Ubuntu 16.04 LTS

Kā instalēt Apache Cassandra 3.11.x operētājsistēmā Ubuntu 16.04 LTS

Vai izmantojat citu sistēmu? Apache Cassandra ir bezmaksas un atvērtā koda NoSQL datu bāzes pārvaldības sistēma, kas ir izstrādāta, lai nodrošinātu mērogojamību, hig.

Kā instalēt Apache Cassandra 3.11.x operētājsistēmā CentOS 7

Kā instalēt Apache Cassandra 3.11.x operētājsistēmā CentOS 7

Vai izmantojat citu sistēmu? Apache Cassandra ir bezmaksas un atvērtā koda NoSQL datu bāzes pārvaldības sistēma, kas ir izstrādāta, lai nodrošinātu mērogojamību, hig.

Mašīnu pieaugums: AI reālās pasaules lietojumi

Mašīnu pieaugums: AI reālās pasaules lietojumi

Mākslīgais intelekts nav nākotnē, tas ir šeit, tagadnē. Šajā emuārā lasiet, kā mākslīgā intelekta lietojumprogrammas ir ietekmējušas dažādas nozares.

DDOS uzbrukumi: īss pārskats

DDOS uzbrukumi: īss pārskats

Vai arī jūs esat DDOS uzbrukumu upuris un esat neizpratnē par profilakses metodēm? Izlasiet šo rakstu, lai atrisinātu savus jautājumus.

Vai esat kādreiz domājis, kā hakeri pelna naudu?

Vai esat kādreiz domājis, kā hakeri pelna naudu?

Iespējams, esat dzirdējuši, ka hakeri pelna daudz naudas, bet vai esat kādreiz domājuši, kā viņi nopelna šādu naudu? pārrunāsim.

Google revolucionāri izgudrojumi, kas atvieglos jūsu dzīvi.

Google revolucionāri izgudrojumi, kas atvieglos jūsu dzīvi.

Vai vēlaties redzēt revolucionārus Google izgudrojumus un to, kā šie izgudrojumi mainīja katra cilvēka dzīvi mūsdienās? Pēc tam lasiet emuārā, lai redzētu Google izgudrojumus.

Piektdiena: kas notika ar AI vadītām automašīnām?

Piektdiena: kas notika ar AI vadītām automašīnām?

Pašpiedziņas automobiļu koncepcija izbraukt uz ceļiem ar mākslīgā intelekta palīdzību ir mūsu sapnis jau kādu laiku. Bet, neskatoties uz vairākiem solījumiem, tie nekur nav redzami. Lasiet šo emuāru, lai uzzinātu vairāk…

Tehnoloģiskā singularitāte: cilvēces civilizācijas tāla nākotne?

Tehnoloģiskā singularitāte: cilvēces civilizācijas tāla nākotne?

Zinātnei strauji attīstoties, pārņemot lielu daļu mūsu pūļu, palielinās arī risks pakļaut sevi neizskaidrojamai singularitātei. Izlasiet, ko singularitāte varētu nozīmēt mums.

Datu glabāšanas evolūcija – infografika

Datu glabāšanas evolūcija – infografika

Datu uzglabāšanas metodes ir attīstījušās kopš datu dzimšanas. Šajā emuārā ir aprakstīta datu uzglabāšanas attīstība, pamatojoties uz infografiku.

Lielo datu atsauces arhitektūras slāņu funkcijas

Lielo datu atsauces arhitektūras slāņu funkcijas

Lasiet emuāru, lai vienkāršākā veidā uzzinātu dažādus lielo datu arhitektūras slāņus un to funkcijas.

6 brīnišķīgas priekšrocības, ko sniedz viedo mājas ierīču izmantošana mūsu dzīvē

6 brīnišķīgas priekšrocības, ko sniedz viedo mājas ierīču izmantošana mūsu dzīvē

Šajā digitālajā pasaulē viedās mājas ierīces ir kļuvušas par būtisku dzīves sastāvdaļu. Šeit ir daži pārsteidzoši viedo mājas ierīču ieguvumi, lai padarītu mūsu dzīvi dzīves vērtu un vienkāršāku.

MacOS Catalina 10.15.4 papildinājuma atjauninājums rada vairāk problēmu nekā to risināšana

MacOS Catalina 10.15.4 papildinājuma atjauninājums rada vairāk problēmu nekā to risināšana

Nesen Apple izlaida macOS Catalina 10.15.4 papildinājuma atjauninājumu, lai novērstu problēmas, taču šķiet, ka atjauninājums rada vairāk problēmu, kas izraisa Mac datoru bloķēšanu. Izlasiet šo rakstu, lai uzzinātu vairāk