Konfigurasi Gzip Nginx
Konfigurasi Gzip Nginx - Salah satu cara untuk menurunkan size transfer data antara web server dan client side yakni dengan menyediakan fitur compresi pada web server. Nginx secara default sudah menyediakan module gzip sebagai add-ons, sehingga kita hanya perlu mengaktifkannya. Dengan mengaktifkan module gzip pada nginx, sanggup menurunkan ukuran size pada file yang di load, sehingga proses transfer data menjadi lebih cepat.
Baca Juga :
Install nginx source di centos 7
Konfigurasi openssl nginx di centos 7
Setelah kita mengaktifkan mod_ssl pada nginx, di kesempatan kali ini www.dimasrio.com akan menjelaskan bagaimana cara konfigurasi gzip nginx di centos7.
Konfigurasi Gzip Nginx
Masih melanjutkan konfigurasi sebelumnya, pada pola kali saya akan menyediakan sebuah file css dengan ukuran lebih dari 100kb.
Sumber http://www.dimasrio.com/
mkdir /opt/nginx/html/assetsTambahkan configurasi untuk mengaktifkan gzip pada dimzrio-com.conf.
cd /opt/nginx/html/assets
wget https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css
nano /opt/nginx/conf/vhosts/dimzrio-com.confContent:
server {Perintah gzip di atas sebagai berikut.
listen 80;
listen 443 ssl http2;
access_log /var/log/nginx/dimzrio-access.log main;
error_log /var/log/nginx/dimzrio-error.log;
server_name dimzrio.com;
# SSL Config #
if ($scheme = http) {
return 301 https://$server_name$request_uri;
}
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_certificate /opt/nginx/ssl/nginx.crt;
ssl_certificate_key /opt/nginx/ssl/nginx.key;
ssl_session_timeout 5m;
ssl_session_cache shared:TLS:10m;
ssl_ciphers EECDH+ECDSA+AESGCM:EECDH+aRSA+AESGCM:EECDH+ECDSA+SHA512:EECDH+ECDSA+SHA384:EECDH+ECDSA+SHA256:ECDH+AESGCM:ECDH+AES256:DH+AESGCM:DH+AES256:RSA+AESGCM:!aNULL:!eNULL:!LOW:!RC4:!3DES:!MD5:!EXP:!PSK:!SRP:!DSS;
ssl_prefer_server_ciphers on;
gzip on;
gzip_disable "msie6";
gzip_proxied any;
gzip_comp_level 7;
gzip_min_length 100;
gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript application/vnd.ms-fontobject application/x-font-ttf font/opentype image/svg+xml image/x-icon;
location / {
index index.html;
root /opt/nginx/html;
}
location ˜*\.(css|map|js|json|xml)$ {
root /opt/nginx/html/assets;
}
}
- gzip_disable msie6 : Digunakan untuk menonaktifkan gzip pada internet explorer version 6.
- gzip_proxied any : Digunakan untuk mendapatkan semuga request dari traffic yg memakai semua jenis proxy.
- gzip_comp_level : Level compresi (1 hingga 9), nilai 7 sanggup menurunkan kurang lebih 70% size.
- gzip_min_length : Batas minimum yang dipakai untuk bypass gzip. Jika file kurang dari 100kb maka akan di abaikan.
- gzip_types : Jenis file yang akan di compress.
nano /opt/nginx/conf/nginx.confContent:
user nginx;
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for" "$gzip_ratio"';
sendfile on;
tcp_nopush on;
keepalive_timeout 65;
include vhosts/*.conf;
}
Reload nginx.
/opt/nginx/sbin/nginx -s reloadSetelah service nginx di reload, lakukan uji coba pada browser dengan mode inspect dengan mengakses url berikut.
https://dimzrio.com/assets/bootstrap.min.cssOutput:
Dari output di atas, gzip sudah berfungsi dengan baik di nginx. Terlihat size dari file bootstrap.min.css yang semula berukuran 141kb di load menjadi 20.1kb.
Demikian tutorial nginx kali ini mengenai konfigurasi gzip nginx di centos 7. Semoga bermanfaat bagi kita semua dan selamat mencoba.!!!