Nginx adalah salah satu software server paling populer di dunia web. Ia bisa dipakai sebagai web server, reverse proxy, HTTP cache, load balancer, dan gateway untuk aplikasi modern. Banyak website memakai Nginx di depan aplikasi seperti Node.js, PHP-FPM, Python, Ruby, atau container.
Bagi admin server, Nginx sering menjadi alat utama untuk menerima request dari internet, mengatur domain, memasang SSL, meneruskan request ke aplikasi internal, dan mengelola traffic.

Apa itu Nginx?
Nginx adalah web server dan reverse proxy. Sebagai web server, Nginx dapat menyajikan file statis seperti HTML, CSS, JavaScript, gambar, dan download file. Sebagai reverse proxy, Nginx menerima request dari user lalu meneruskannya ke aplikasi backend.
Contoh sederhana: user membuka https://contoh.com. Request masuk ke Nginx. Nginx mengecek konfigurasi domain, SSL, dan path, lalu meneruskan request ke aplikasi yang berjalan di port internal seperti localhost:3000 atau localhost:8000.
Fungsi utama Nginx
Nginx sering dipakai untuk beberapa fungsi:
- menyajikan website statis;
- menjadi reverse proxy untuk aplikasi;
- terminasi SSL/TLS;
- load balancing ke beberapa backend;
- caching response tertentu;
- routing berdasarkan domain atau path;
- kompresi gzip atau brotli;
- rate limiting dasar;
- proxy WebSocket;
- serving media dan download file.
Karena fungsi-fungsi itu, Nginx sering berada di lapisan paling depan sebelum request masuk ke aplikasi utama.
Kenapa Nginx banyak dipakai?
Nginx dikenal efisien dalam menangani banyak koneksi. Arsitekturnya event-driven, sehingga cocok untuk traffic web modern yang banyak koneksi secara bersamaan.
Nginx juga relatif mudah dipakai untuk reverse proxy. Developer dapat menjalankan aplikasi di port lokal, lalu Nginx mengurus domain publik dan HTTPS. Ini umum pada deployment aplikasi Node.js, Laravel dengan PHP-FPM, Django, FastAPI, atau layanan container.
Selain itu, konfigurasi Nginx cukup eksplisit. Blok server menangani domain, sementara blok location menangani path tertentu. Bagi admin yang terbiasa, struktur ini membuat routing server mudah dibaca.
Contoh konsep konfigurasi
Contoh reverse proxy sederhana:
server {
listen 80;
server_name contoh.com;
location / {
proxy_pass http://127.0.0.1:3000;
}
}
Konfigurasi di atas menerima request untuk contoh.com, lalu meneruskannya ke aplikasi yang berjalan di port 3000.
Keunggulan Nginx
Keunggulan Nginx adalah performa, fleksibilitas reverse proxy, dan penggunaan resource yang efisien. Untuk file statis dan proxy traffic, Nginx sangat kuat.
Nginx juga cocok untuk arsitektur modern. Satu server bisa menjalankan beberapa aplikasi internal, sementara Nginx mengatur domain dan HTTPS masing-masing.
Untuk skala lebih besar, Nginx bisa dipakai sebagai load balancer agar traffic dibagi ke beberapa backend. Ini membantu saat satu aplikasi dijalankan di beberapa instance.
Hal yang perlu diperhatikan
Nginx kuat, tetapi konfigurasi yang salah bisa membuat masalah. Kesalahan proxy_pass, header, timeout, ukuran upload, atau cache dapat membuat aplikasi terlihat bermasalah padahal sumbernya ada di layer proxy.
Admin juga perlu memahami SSL, DNS, firewall, log, dan permission file. Nginx bukan sekadar install lalu selesai; ia bagian penting dari keamanan dan performa server.
Kesimpulan
Nginx adalah tool penting untuk web modern. Ia cocok sebagai web server, reverse proxy, SSL terminator, cache, dan load balancer. Untuk developer dan admin server, memahami Nginx sangat membantu dalam deployment aplikasi yang rapi dan aman.
Jika website hanya statis sederhana, Nginx bisa langsung menyajikannya. Jika aplikasi berjalan di backend, Nginx bisa menjadi pintu depan yang mengatur traffic dari internet.


