Mengenal apa itu webserver nginx?

NGINX (dibaca “engine-ex”) adalah perangkat lunak server web sumber terbuka yang juga berfungsi sebagai reverse proxy, load balancer, dan HTTP cache. Awalnya, NGINX dirancang untuk mengatasi “C10k problem,” yaitu masalah server dalam menangani ribuan koneksi secara bersamaan, dan dikenal karena kecepatan serta kemampuannya dalam menangani beban tinggi dan banyak koneksi secara efisien. 

NGINX menggunakan arsitektur berbasis event-driven dan asinkron, yang memungkinkannya menangani banyak koneksi secara bersamaan dengan sumber daya minimal. Ini menjadikannya pilihan populer untuk website dengan traffic tinggi, seperti Google, Netflix, dan WordPress.com.  nginx juga memiliki lisensi open-source yang memiliki multi fungsi sebagai proxy IMAP/POP3. Web server Nginx terkenal karena stabil, memiliki tingkat performansi tinggi dan minim mengonsumsi sumber daya.

Beberapa fungsi utama NGINX:

FungsiPenjelasan
🌐 Web ServerMelayani konten statis seperti HTML, CSS, JS, gambar
🔀 Reverse ProxyMeneruskan request dari klien ke backend (mis. Laravel, Node.js, PHP-FPM)
🚀 Load BalancerMenyeimbangkan beban traffic ke banyak server backend
🔐 SSL/TLS TerminationMenangani HTTPS dan enkripsi koneksi
🧱 Web Application Firewall (WAF)Bisa diintegrasikan dengan modul keamanan (seperti ModSecurity, open-appsec)
🗂 Content CacheMen-cache respon untuk mempercepat layanan

Kelebihan NGINX:

  • Ringan dan hemat resource
  • Mampu menangani ribuan koneksi simultan dengan efisien
  • Cocok untuk static content, API, dan microservices
  • Dukungan untuk HTTP/2, HTTPS, gRPC, streaming, dll
  • Banyak digunakan sebagai reverse proxy & gateway untuk Laravel, WordPress, React, dst.

Contoh Struktur Kerja NGINX:

Client Request --> NGINX --> Backend (Laravel / Node / PHP)
                            ↳ Static Content (HTML/JS)
                            ↳ Logging / Monitoring

Struktur Folder Default NGINX di Ubuntu:

Folder / FileKeterangan
/etc/nginx/nginx.confKonfigurasi utama
/etc/nginx/sites-available/Konfigurasi virtual host
/etc/nginx/sites-enabled/Link ke situs yang aktif
/var/www/html/Lokasi default dokumen HTML
/var/log/nginx/Log akses & error

Perintah Dasar NGINX:

PerintahFungsi
sudo nginx -tCek konfigurasi
sudo systemctl reload nginxReload konfigurasi tanpa restart
sudo systemctl restart nginxRestart NGINX
sudo nginx -vLihat versi
sudo tail -f /var/log/nginx/access.logLihat log akses
sudo tail -f /var/log/nginx/error.logLihat log error

Leave a Reply

Your email address will not be published. Required fields are marked *