Apa sih Nginx itu?
Nginx adalah perangkat lunak yang berfungsi sebagai layanan HTTP dan reverse proxy. Dikembangkan oleh Igor Sysoev, Nginx lahir untuk menjawab tantangan C10k (ten thousand connections) — yaitu kemampuan server untuk menangani sepuluh ribu koneksi secara bersamaan.
Selain sebagai web server, Nginx juga bisa berperan sebagai:
- Reverse proxy — meneruskan request ke aplikasi di belakangnya.
- Load balancer — membagi beban traffic ke beberapa backend berdasarkan kriteria tertentu.
- Cache — menyimpan konten statis untuk mempercepat respon.
Cara Kerja Nginx
Web server tradisional biasanya menangani tiap request sebagai proses atau thread baru (satu-ke-satu). Nginx mengambil jalan berbeda dengan arsitektur asynchronous event-driven.
Client → Nginx (1 worker process) → Master → Output
Intinya: Nginx merespon banyak request dalam satu worker process saja. Tiap worker meneruskan request ke master process dan mengembalikan output yang diminta, tanpa harus membuat proses baru tiap kali ada visitor.
Dengan model ini, Nginx sangat memungkinkan untuk menangani ribuan koneksi dalam waktu bersamaan — itulah alasan utama ia dipilih untuk beban tinggi.