NGINX (dibaca “engine-ex”) adalah salah satu perangkat web server yang bersifat open source dan berfungsi sebagai reverse proxy server, load balancer, serta HTTP cache.
Jika meninjau sejarahnya, NGINX web server pertama kali dirancang oleh Igor Sysoev sebagai solusi efisien untuk menangani C10k problem (ketika server harus mengelola 10.000 koneksi secara bersamaan).
Karena NGINX adalah salah satu layanan web server dengan skalabilitas terbaik, banyak website-website besar memanfaatkan layanan ini, misalnya Google, WordPress, Netflix, Adobe, dan masih banyak lagi.
Tak hanya itu, salah satu keunggulan NGINX adalah dapat diintegrasikan dengan berbagai teknologi dan bahasa pemrograman dalam proses pengembangan web.
Pelajari apa itu NGINX web server selengkapnya pada pembahasan di bawah ini.
Setelah mengetahui apa itu NGINX, Anda mungkin teringat akan jenis web server lain, yaitu Apache.
Pada dasarnya, NGINX dan Apache adalah dua server yang sudah banyak digunakan sejak awal tahun 90-an.
Adapun perbedaan NGINX vs Apache antara lain:
Pada dasarnya, fungsi utama NGINX adalah menciptakan web server tercepat. Sejalan dengan itu, perangkat ini juga dapat berfungsi sebagai server proxy, media streamer, menjalankan load balancing, dan melakukan caching konten.
Selain itu, sejak dirilis, NGINX terus-menerus melakukan perkembangan signifikan hingga mampu mendukung hampir seluruh komponen web, seperti HTTP/2, gRPC, WebSocket. RTMP, HLS, HDS, dan lainnya.
Adapun fungsi NGINX lainnya adalah sebagai terminator SSL/TLS atau akselerator web. NGINX bertanggung jawab dalam menangani tugas-tugas yang berpotensi memperlambat server web dengan menegosiasikan SSL/TLS dan mengompresi konten.
NGINX adalah web server yang mengimplementasikan model asynchronous, event-driven, dan non-blocking dengan arsitektur master-slave.
Artinya, arsitektur NGINX terdiri atas “master” yang bertanggung jawab mengelola dan mengoordinasikan proses dan “slave” yang bertanggung jawab menangani permintaan klien.
Agar Anda bisa memahami apa itu NGINX secara menyeluruh, perhatikan ilustrasi cara kerja NGINX web server berikut ini.
Ketika seorang pengguna mengakses situs web atau aplikasi yang dihosting oleh NGINX, maka permintaan mereka akan melewati beberapa tahap sebelum menghasilkan respons yang diinginkan.
Pertama, NGINX berperan sebagai reverse proxy. Artinya, ia dapat menerima permintaan dari klien dan meneruskannya ke server yang sesuai.
Dalam proses ini, fungsi NGINX adalah melakukan berbagai tugas, termasuk load balancing, di mana traffic dipartisi secara merata di antara beberapa server backend untuk meningkatkan kinerjanya.
Setelah menerima permintaan dari klien, NGINX akan memutuskan ke server backend manakah permintaan akan diteruskan berdasarkan konfigurasi load balancing sebelumnya.
Setelah permintaan diteruskan ke server backend, NGINX kemudian berfungsi sebagai perantara untuk mengumpulkan respons dari server tersebut. Terakhir, NGINX akan mengirimkan respons tersebut kembali kepada klien.
Selain cara kerja NGINX di atas, web server satu ini juga dapat berfungsi sebagai cache untuk menyimpan salinan halaman statis untuk mempercepat waktu respon dan mengurangi beban server backend.
Karena NGINX adalah web server yang mengimplementasikan model penanganan koneksi bersifat event-driven, hal ini memungkinkan server untuk menangani banyak koneksi secara bersamaan tanpa perlu menghasilkan banyak thread.
Inilah mengapa NGINX menjadi pilihan web server yang populer untuk mengoptimalkan kinerja situs web dan aplikasi.
Jika membahas tentang jenis-jenis web server, maka tidak diragukan lagi bahwa NGINX adalah salah satu opsi paling populer yang banyak digunakan oleh merek-merek ternama.
Berikut adalah beberapa kekurangan dan kelebihan yang dimiliki oleh NGINX web server:
Risca Fadillah
Berlangganan Newsletter kami
Masukkan alamat email anda untuk menerima notifikasi Newsletter kami