Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1
Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1
Brotli (br) adalah algoritma pemampatan sumber terbuka baru, yang dibangunkan oleh Google sebagai alternatif kepada Gzip, Zopfli dan Deflate. Secara formal didefinisikan dalam Pasukan Petugas Kejuruteraan Internet (IETF) sebagai RFC 7932 . Kajian kes Google pada Brotli menunjukkan nisbah pemampatan hingga 26% lebih kecil daripada kaedah semasa, dengan penggunaan CPU lebih sedikit.
Nginx tidak mempunyai sokongan rasmi tetapi ada modul pihak ketiga yang dikembangkan oleh Google bernama ngx_brotli yang dapat kita gunakan untuk menambahkan sokongan ke Nginx.
Panduan ini akan menunjukkan kepada anda cara menambah sokongan Brotli untuk Nginx pada contoh Ubuntu 18.04 LTS Vultr yang baru.
NOTA: Panduan ini akan digunakan johndoe
sebagai contoh pengguna dan example.com
sebagai domain contoh. Gantikan mereka mengikut nama anda.
A
/ AAAA
rekod disediakanSemak versi Ubuntu.
lsb_release -ds
# Ubuntu 18.04 LTS
Buat non-root
akaun pengguna baru dengan sudo
akses dan beralih kepadanya.
adduser johndoe --gecos "John Doe"
usermod -aG sudo johndoe
su - johndoe
NOTA : Gantikan johndoe
dengan nama pengguna anda .
Kemas kini perisian sistem operasi anda.
sudo apt update && sudo apt upgrade -y
Sediakan zon waktu.
sudo dpkg-reconfigure tzdata
Pasang alatan dan pakej binaan yang diperlukan.
sudo apt install -y build-essential git apt-transport-https socat
Brotli menghendaki anda menyediakan dan menggunakan HTTPS. Di bahagian ini, kami akan mendapat sijil yang dipercayai daripada Let's Encrypt.
Muat turun dan pasang 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
Semak versi.
acme.sh --version
# v2.8.0
Dapatkan sijil RSA dan ECDSA untuk 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
Setelah menjalankan perintah di atas, sijil dan kunci anda akan berada di lokasi berikut:
/etc/letsencrypt/example.com
/etc/letsencrypt/example.com_ecc
Muat turun dan pasang mainline Nginx terkini dari republik Nginx rasmi.
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
Semak versi.
sudo nginx -v
# nginx version: nginx/1.15.2
Dayakan dan mulailah Nginx.
sudo systemctl enable nginx.service
sudo systemctl start nginx.service
Selepas memasang Nginx, kita perlu membina modul Brotli ( ngx_brotli
) sebagai modul Nginx dinamik. Dari versi Nginx 1.11.5 adalah mungkin untuk menyusun modul dinamik individu tanpa menyusun perisian Nginx yang lengkap. Dalam beberapa langkah seterusnya, kami akan membina modul Brotli sebagai dinamik tanpa menyusun Nginx yang lengkap.
Muat turun versi terkini kod sumber Nginx utama dan ekstraknya.
wget https://nginx.org/download/nginx-1.15.2.tar.gz && tar zxvf nginx-1.15.2.tar.gz
CATATAN : Sangat penting bahawa nombor versi pakej Nginx dan kod sumber Nginx sepadan. Sekiranya anda memasang Nginx 1.15.2 dari repositori Nginx rasmi, anda mesti memuat turun versi kod sumber yang sama , 1.15.2 dalam kes ini.
Keluarkan nginx-1.15.2.tar.gz
.
rm nginx-1.15.2.tar.gz
Klon ngx_brotli
dari GitHub.
git clone https://github.com/eustas/ngx_brotli.git
cd ngx_brotli && git submodule update --init && cd ~
Navigasi ke direktori kod sumber Nginx.
cd ~/nginx-1.15.2
Muat turun perpustakaan yang diperlukan.
sudo apt install -y libpcre3 libpcre3-dev zlib1g zlib1g-dev openssl libssl-dev
Menyusun ngx_brotli
sebagai modul dinamik dan menyalinnya ke direktori standard untuk modul Nginx, /etc/nginx/modules
.
./configure --with-compat --add-dynamic-module=../ngx_brotli
make modules
sudo cp objs/*.so /etc/nginx/modules
Senaraikan fail /etc/nginx/modules
dan anda akan melihat ngx_http_brotli_filter_module.so
dan ngx_http_brotli_static_module.so
.
ls /etc/nginx/modules
Tetapkan keizinan 644
untuk semua .so
fail.
sudo chmod 644 /etc/nginx/modules/*.so
Kami bersedia untuk mengkonfigurasi sokongan Brotli di Nginx.
Jalankan sudo vim /etc/nginx/nginx.conf
dan tambah dua arahan berikut di bahagian atas fail untuk memuatkan modul Brotli baru.
load_module modules/ngx_http_brotli_filter_module.so;
load_module modules/ngx_http_brotli_static_module.so;
Uji konfigurasi.
sudo nginx -t
Buat direktori root dokumen example.com
dan buat index.html
dengan beberapa kandungan di dalamnya.
sudo mkdir -p /var/www/example.com
sudo -s
echo "Hello from example.com" >> /var/www/example.com/index.html
exit
Buat tuan rumah maya untuk example.com
.
sudo vim /etc/nginx/conf.d/example.com.conf
Populasi dengan konfigurasi berikut.
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;
}
Uji konfigurasi.
sudo nginx -t
Muat semula Nginx.
sudo systemctl reload nginx.service
Lawati laman web anda di penyemak imbas web anda dan buka tab rangkaian alat pembangun. Anda akan melihat Content-Encoding: br
pada tajuk respons. Itulah petunjuk bahawa pemampatan Brotli berfungsi.
Anda telah mengaktifkan pemampatan Brotli di pelayan web anda.
Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1
Ramai daripada anda tahu Switch akan keluar pada Mac 2017 dan ciri baharunya. Bagi yang tidak tahu, kami telah menyediakan senarai ciri yang menjadikan 'Tukar' sebagai 'gajet yang mesti ada'.
Adakah anda menunggu gergasi teknologi memenuhi janji mereka? semak apa yang masih belum dihantar.
Baca blog untuk mengetahui lapisan berbeza dalam Seni Bina Data Besar dan fungsinya dengan cara yang paling mudah.
Baca ini untuk mengetahui cara Kecerdasan Buatan semakin popular di kalangan syarikat berskala kecil dan cara ia meningkatkan kebarangkalian untuk menjadikan mereka berkembang dan memberikan pesaing mereka kelebihan.
CAPTCHA telah menjadi agak sukar untuk diselesaikan oleh pengguna dalam beberapa tahun kebelakangan ini. Adakah ia dapat kekal berkesan dalam pengesanan spam dan bot pada masa hadapan?
Apabila Sains Berkembang pada kadar yang pantas, mengambil alih banyak usaha kita, risiko untuk menundukkan diri kita kepada Ketunggalan yang tidak dapat dijelaskan juga meningkat. Baca, apakah makna ketunggalan bagi kita.
Apakah teleperubatan, penjagaan kesihatan jauh dan impaknya kepada generasi akan datang? Adakah ia tempat yang baik atau tidak dalam situasi pandemik? Baca blog untuk mencari paparan!
Anda mungkin pernah mendengar bahawa penggodam memperoleh banyak wang, tetapi pernahkah anda terfikir bagaimana mereka memperoleh wang seperti itu? Mari berbincang.
Baru-baru ini Apple mengeluarkan macOS Catalina 10.15.4 kemas kini tambahan untuk menyelesaikan masalah tetapi nampaknya kemas kini itu menyebabkan lebih banyak masalah yang membawa kepada pemusnahan mesin mac. Baca artikel ini untuk mengetahui lebih lanjut