The Rise of Machines: Real World Applications of AI
Umělá inteligence není v budoucnosti, je zde přímo v současnosti V tomto blogu si přečtěte, jak aplikace umělé inteligence ovlivnily různé sektory.
Brotli (br) je nový open source kompresní algoritmus vyvinutý společností Google jako alternativa k Gzip, Zopfli a Deflate. Je formálně definován v Internet Engineering Task Force (IETF) jako RFC 7932 . Případová studie společnosti Google týkající se Brotli ukázala kompresní poměry až o 26 % menší než současné metody, při menším využití procesoru.
Nginx nemá oficiální podporu, ale existuje modul třetí strany vyvinutý společností Google s názvem ngx_brotli, který můžeme použít k přidání podpory do Nginx.
Tato příručka vám ukáže, jak přidat podporu Brotli do Nginx na čerstvé instanci Ubuntu 18.04 LTS Vultr.
POZNÁMKA: Tato příručka bude sloužit johndoejako příklad uživatele a example.comjako příklad domény. Nahraďte je podle svých jmen.
A/AAAAZkontrolujte verzi Ubuntu.
lsb_release -ds
# Ubuntu 18.04 LTS
Vytvořte nový non-rootuživatelský účet s sudopřístupem a přepněte na něj.
adduser johndoe --gecos "John Doe"
usermod -aG sudo johndoe
su - johndoe
POZNÁMKA : Nahraďte johndoesvým uživatelským jménem .
Aktualizujte software operačního systému.
sudo apt update && sudo apt upgrade -y
Nastavte časové pásmo.
sudo dpkg-reconfigure tzdata
Nainstalujte požadované nástroje a balíčky pro sestavení.
sudo apt install -y build-essential git apt-transport-https socat
Brotli vyžaduje, abyste nastavili a používali HTTPS. V tomto díle získáme důvěryhodný certifikát od Let's Encrypt.
Stáhněte a nainstalujte 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
Zkontrolujte verzi.
acme.sh --version
# v2.8.0
Získejte certifikáty RSA a ECDSA pro 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
Po spuštění výše uvedených příkazů budou vaše certifikáty a klíče v následujících umístěních:
/etc/letsencrypt/example.com/etc/letsencrypt/example.com_eccStáhněte si a nainstalujte nejnovější hlavní řadu Nginx z oficiálního repozitář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
Zkontrolujte verzi.
sudo nginx -v
# nginx version: nginx/1.15.2
Povolte a spusťte Nginx.
sudo systemctl enable nginx.service
sudo systemctl start nginx.service
Po instalaci Nginx musíme sestavit modul Brotli ( ngx_brotli) jako dynamický modul Nginx. Od verze Nginx 1.11.5 je možné kompilovat jednotlivé dynamické moduly bez kompilace kompletního softwaru Nginx. V několika následujících krocích vytvoříme modul Brotli jako dynamický bez kompilace kompletního Nginx.
Stáhněte si nejnovější verzi hlavního zdrojového kódu Nginx a rozbalte jej.
wget https://nginx.org/download/nginx-1.15.2.tar.gz && tar zxvf nginx-1.15.2.tar.gz
POZNÁMKA : Je velmi důležité, aby se čísla verzí balíčku Nginx a zdrojového kódu Nginx shodovala. Pokud jste nainstalovali Nginx 1.15.2 z oficiálního úložiště Nginx, musíte si stáhnout stejnou verzi zdrojového kódu , v tomto případě 1.15.2.
Odebrat nginx-1.15.2.tar.gz.
rm nginx-1.15.2.tar.gz
Klon ngx_brotliz GitHubu.
git clone https://github.com/eustas/ngx_brotli.git
cd ngx_brotli && git submodule update --init && cd ~
Přejděte do adresáře zdrojového kódu Nginx.
cd ~/nginx-1.15.2
Stáhněte si požadované knihovny.
sudo apt install -y libpcre3 libpcre3-dev zlib1g zlib1g-dev openssl libssl-dev
Zkompilujte ngx_brotlijako dynamický modul a zkopírujte jej do standardního adresáře pro moduly Nginx, /etc/nginx/modules.
./configure --with-compat --add-dynamic-module=../ngx_brotli
make modules
sudo cp objs/*.so /etc/nginx/modules
Seznam souborů /etc/nginx/modulesa uvidíte ngx_http_brotli_filter_module.soa ngx_http_brotli_static_module.so.
ls /etc/nginx/modules
Nastavte oprávnění na 644pro všechny .sosoubory.
sudo chmod 644 /etc/nginx/modules/*.so
Jsme připraveni nakonfigurovat podporu Brotli v Nginx.
Spusťte sudo vim /etc/nginx/nginx.confa přidejte následující dvě direktivy na začátek souboru pro načtení nových modulů Brotli.
load_module modules/ngx_http_brotli_filter_module.so;
load_module modules/ngx_http_brotli_static_module.so;
Otestujte konfiguraci.
sudo nginx -t
Vytvořte kořenový adresář dokumentu example.coma vytvořte index.htmlv něm nějaký obsah.
sudo mkdir -p /var/www/example.com
sudo -s
echo "Hello from example.com" >> /var/www/example.com/index.html
exit
Vytvořte virtuálního hostitele pro example.com.
sudo vim /etc/nginx/conf.d/example.com.conf
Naplňte jej následující konfigurací.
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;
}
Otestujte konfiguraci.
sudo nginx -t
Znovu načtěte Nginx.
sudo systemctl reload nginx.service
Navštivte svůj web ve webovém prohlížeči a otevřete kartu Síť nástrojů pro vývojáře. Uvidíte Content-Encoding: brv záhlaví odpovědí. To je indikátor, že komprese Brotli funguje.

Na svém webovém serveru jste povolili kompresi Brotli.
Umělá inteligence není v budoucnosti, je zde přímo v současnosti V tomto blogu si přečtěte, jak aplikace umělé inteligence ovlivnily různé sektory.
Jste také obětí DDOS útoků a nemáte jasno v metodách prevence? Chcete-li vyřešit své dotazy, přečtěte si tento článek.
Možná jste slyšeli, že hackeři vydělávají spoustu peněz, ale napadlo vás někdy, jak takové peníze vydělávají? Pojďme diskutovat.
Chcete vidět revoluční vynálezy Google a jak tyto vynálezy změnily život každého dnešního člověka? Pak si přečtěte na blogu a podívejte se na vynálezy od Googlu.
Koncept aut s vlastním pohonem, která vyrazí na silnice s pomocí umělé inteligence, je snem, který už nějakou dobu máme. Ale přes několik slibů nejsou nikde vidět. Přečtěte si tento blog a dozvíte se více…
Jak se věda vyvíjí rychlým tempem a přebírá mnoho našeho úsilí, stoupá také riziko, že se vystavíme nevysvětlitelné singularitě. Přečtěte si, co pro nás může znamenat singularita.
Přečtěte si blog, abyste co nejjednodušším způsobem poznali různé vrstvy v architektuře velkých dat a jejich funkce.
Způsoby ukládání dat se mohou vyvíjet od narození dat. Tento blog se zabývá vývojem ukládání dat na základě infografiky.
V tomto digitálním světě se chytrá domácí zařízení stala klíčovou součástí života. Zde je několik úžasných výhod chytrých domácích zařízení o tom, jak náš život stojí za to žít a zjednodušit jej.
Apple nedávno vydal doplňkovou aktualizaci macOS Catalina 10.15.4, která opravuje problémy, ale zdá se, že aktualizace způsobuje další problémy, které vedou k zablokování počítačů mac. Přečtěte si tento článek a dozvíte se více