GNU/Linux >> Belajar Linux >  >> Linux

Filter dan optimalkan permintaan file statis dengan NGINX di Ubuntu 18.04

NGINX adalah server web berperforma tinggi yang digunakan terutama untuk mengelola file statis dan sebagai proxy terbalik, tetapi berkat keserbagunaannya, dapat dieksploitasi dalam situasi apa pun.

Dalam panduan ini Anda akan mempelajari cara memfilter dan mengoptimalkan permintaan file statis dengan NGINX, untuk meningkatkan kinerja situs web Anda dan mengurangi beban server, menggunakan beberapa trik, seperti mengaktifkan kompresi Gzip, mengubah jumlah proses / koneksi atau ukuran buffer.

Pertama, sambungkan ke server Anda melalui koneksi SSH. Jika Anda belum melakukannya, ikuti panduan kami disarankan untuk terhubung secara aman dengan SSH. Untuk server lokal, lanjutkan ke langkah berikutnya dan buka terminal server Anda.

Modifikasi Parameter Konfigurasi

Buka file konfigurasi NGINX menggunakan editor, seperti nano atau vi. Untuk contoh ini, nano digunakan.

$ sudo nano /etc/nginx/nginx.conf

Mengaktifkan kompresi Gzip

Dengan mengaktifkan kompresi Gzip, jumlah data yang akan dikirim dapat dikurangi. Berhati-hatilah untuk tidak meningkatkan tingkat kompresi Gzip terlalu banyak, karena dapat mempengaruhi kinerja CPU.

gzip             on;

gzip_comp_level  2;

gzip_min_length  1000;

gzip_proxied     expired no-cache no-store private auth;

gzip_types       text/plain application/x-javascript text/xml text/css application/xml;

Menyetel jumlah proses dan koneksi

Parameter 'worker_processes' mengacu pada jumlah proses yang dibuat oleh NGINX setelah memulainya. Jumlah proses biasanya harus sama dengan jumlah core di server. Misalnya, jika server memiliki prosesor dengan 4 core maka parameter dengan nilai 4 harus diatur, sebagai berikut:

worker_processes 4;

Parameter worker_connections mengacu pada jumlah klien yang akan dilayani oleh satu proses. Untuk menetapkan nilai optimal untuk konfigurasi, yang harus Anda lakukan adalah memeriksa batas inti Anda dengan perintah:

$ ulimit -n

Hasilnya adalah jumlah maksimum koneksi per proses. Kemudian, untuk mengaturnya:

worker_processes 1024;

Mengubah ukuran Buffer

Jika ukuran buffer terlalu rendah, NGINX akan dipaksa untuk membuat file sementara, menyebabkan banyak operasi disk. Untuk menghindarinya, atur ukuran buffer dengan benar.

client_max_body_size:menunjukkan ukuran maksimum permintaan klien

client_body_buffer_size:mengacu pada ukuran buffer untuk permintaan POST

client_header_buffer_size:mengacu pada ukuran buffer relatif terhadap header permintaan klien

Dengan memodifikasi parameter ini dengan nilai-nilai berikut, hasil yang baik akan diperoleh:

client_max_body_size 8m;

client_body_buffer_size 10K;

client_header_buffer_size 1k;

Mengubah durasi cache

Untuk mengatur durasi cache file statis, yang harus Anda lakukan adalah menentukan ekstensi file dan durasinya dengan cara ini:

location ~*.(jpg|jpeg|png|gif|ico|css|js)$ {

expires 365d;

}

di mana dengan 365d ditentukan bahwa cache untuk ekstensinya akan bertahan selama 365 hari.

Mengurangi Timeout

Parameter client_body_timeout dan client_header_timeout masing-masing menunjukkan waktu tunggu untuk badan atau header permintaan. Jika server tidak menerima isi atau header dalam waktu ini, \ koneksi diakhiri dengan kesalahan batas waktu.

Parameter send_timeout menunjukkan waktu maksimum antara dua operasi baca. jika waktu ini terlampaui, NGINX akan mengakhiri koneksi dengan klien.

Sebaliknya, parameter keepalive_timeout mengacu pada durasi maksimum koneksi Keep-Alive sebelum mengakhirinya.

Dengan menetapkan nilai-nilai ini sebagai berikut, akan diperoleh hasil yang baik:

client_body_timeout 12;

client_header_timeout 12;

send_timeout 10;

keepalive_timeout 15;

Menonaktifkan Log

NGINX memantau setiap permintaan yang dibuat dalam file log. Untuk menonaktifkan fungsi ini, Anda hanya perlu mengubah parameter access_log sebagai berikut:

access_log off;

Menerapkan perubahan

Mulai ulang layanan NGINX untuk menerapkan perubahan:

$ sudo service nginx restart

Linux
  1. Cara menginstal phpMyAdmin dengan HHVM, Nginx dan MariaDB di Ubuntu 14.04 VPS

  2. Instal WordPress dengan Varnish dan Nginx di Ubuntu

  3. Cara mengoptimalkan cache file statis Apache di Ubuntu 18.04

  1. Instal Redmine di server Ubuntu 14.04 dengan MariaDB, Puma dan Nginx.

  2. Cara mengatur aplikasi nodejs sederhana dengan nginx dan pm2 di server ubuntu

  3. Instal phpMyAdmin di Ubuntu 20.04 dengan Nginx

  1. Menginstal Nginx di Ubuntu 14.04 dan 16.04

  2. Menyiapkan server OpenVPN dengan Ubuntu dan Viscosity

  3. Cara Menginstal Node.js dengan NVM dan Nginx di Ubuntu 22.04